FF-A: Booting SPs according to 'boot-order'
Secure Hafnium boots partitions according to boot-order in the manifest.
In this patch:
- Added manifest parsing of "boot-order", and populated VM structure
with it;
- Added the field "next_boot" to the VM structure, in order to create a
boot list that is sorted by the "boot-order";
- The root of the list points to the highest priority VM;
- Booting consists on traversing the list upon use of MSG_WAIT
interface from the highest priority VMs;
- After traversing the whole boot list, returns execution to SPMD;
- "manifest_Test.cc" updated to include "boot-order" field in
tests to the partition manifest;
- "vm_test.cc" updated to include unit test for the main logic of this
patch.
Change-Id: I43adf90447eed3bc24c8eb2ccb8eb979b471f3c3
Signed-off-by: J-Alves <Joao.Alves@arm.com>
diff --git a/src/load.c b/src/load.c
index f820204..bbc0f1b 100644
--- a/src/load.c
+++ b/src/load.c
@@ -148,7 +148,12 @@
return false;
}
}
+
+ vm_locked.vm->boot_order = manifest_vm->sp.boot_order;
+ /* Updating boot list according to boot_order */
+ vm_update_boot(vm_locked.vm);
}
+
/* Initialize architecture-specific features. */
arch_vm_features_set(vm_locked.vm);