Ramdisk in the manifest, simplify initrd generation
We currently support loading a ramdisk for the primary. In fact, all
primaries are required to have one called 'initrd.img'. This makes
the ramdisk optional and specifies its filename in the manifest.
With that, generate_initrd.py loses the last remaining hardcoded
assumption about the structure of the Hafnium ramdisk. Refactor the
script and the build so that generate_initrd.py simply accepts a list of
(name in ramdisk, path on host) pairs.
Bug: 117551352
Change-Id: Iff2d70205940a1740c473d1cac34d5a05d6d6791
diff --git a/inc/hf/manifest.h b/inc/hf/manifest.h
index 23689d9..3e9f76f 100644
--- a/inc/hf/manifest.h
+++ b/inc/hf/manifest.h
@@ -29,11 +29,17 @@
struct string debug_name;
struct string kernel_filename;
- /* Properties specific to secondary VMs. */
- struct {
- uint64_t mem_size;
- spci_vcpu_count_t vcpu_count;
- } secondary;
+ union {
+ /* Properties specific to the primary VM. */
+ struct {
+ struct string ramdisk_filename;
+ } primary;
+ /* Properties specific to secondary VMs. */
+ struct {
+ uint64_t mem_size;
+ spci_vcpu_count_t vcpu_count;
+ } secondary;
+ };
};
/**