Treat normal world as primary VM when running in secure world.
Change-Id: I7b34689d251dfcaeda5d2504418b87d1bdc1650b
diff --git a/src/load.c b/src/load.c
index bbc0f1b..660d77c 100644
--- a/src/load.c
+++ b/src/load.c
@@ -693,10 +693,17 @@
size_t i;
bool success = true;
- if (!load_primary(stage1_locked, &manifest->vm[HF_PRIMARY_VM_INDEX],
- cpio, params, ppool)) {
- dlog_error("Unable to load primary VM.\n");
- return false;
+ /**
+ * Only try to load the primary VM if it is supposed to be in this
+ * world.
+ */
+ if (vm_id_is_current_world(HF_PRIMARY_VM_ID)) {
+ if (!load_primary(stage1_locked,
+ &manifest->vm[HF_PRIMARY_VM_INDEX], cpio,
+ params, ppool)) {
+ dlog_error("Unable to load primary VM.\n");
+ return false;
+ }
}
if (!init_other_world_vm(ppool)) {