Set primary kernel in manifest and allow preloading.
The primary kernel was previously hard-coded as `vmlinuz` but the
manifest allows more flexibility. If the kernel file for any VM is not
specified, it is assumed that the image has been preloaded into memory.
The loading of the primary and secondaries are becoming increasingly
similar and will continue to do so.
Change-Id: I34f134d8a4d32e8ac92e142d3636902d52ad86ec
diff --git a/docs/Manifest.md b/docs/Manifest.md
index 58a5600..ff1cf0e 100644
--- a/docs/Manifest.md
+++ b/docs/Manifest.md
@@ -12,6 +12,7 @@
hypervisor {
vm1 {
debug_name = "name";
+ kernel_filename = "vmlinuz";
};
vm2 {
@@ -31,10 +32,12 @@
## Example
-The following manifest defines two secondary VMs, the first one with 1MB of
-memory, 2 CPUs and kernel image called `kernel0` (matches filename in Hafnium's
-[ramdisk](HafniumRamDisk.md)), while the second one has 2MB of memory, 4 CPUs
-and a kernel image called `kernel1`.
+The following manifest defines a primary VM with two secondary VMs. The first
+secondary VM has 1MB of memory, 2 CPUs and kernel image called `kernel0`
+(matches filename in Hafnium's [ramdisk](HafniumRamDisk.md)). The second has 2MB
+of memory, 4 CPUs and, by omitting the `kernel_filename` property, a kernel
+preloaded into memory. The primary VM is given all remaining memory, the same
+number of CPUs as the hardware and a kernel image called `vmlinuz`.
```
/dts-v1/;
@@ -44,6 +47,7 @@
hypervisor {
vm1 {
debug_name = "primary VM";
+ kernel_filename = "vmlinuz";
};
vm2 {
@@ -55,7 +59,6 @@
vm3 {
debug_name = "secondary VM 2";
- kernel_filename = "kernel1";
vcpu_count = <4>;
mem_size = <0x200000>;
};