Browse Source

xen: Limit execution to EL1 only

Xen core_init() is calling HVC which should be called from EL1 level that's
why do Xen initialization only when U-Boot runs in EL1.

Signed-off-by: Michal Simek <michal.simek@amd.com>
Michal Simek 1 year ago
parent
commit
b411ba9210
1 changed files with 7 additions and 0 deletions
  1. 7 0
      drivers/xen/hypervisor.c

+ 7 - 0
drivers/xen/hypervisor.c

@@ -264,8 +264,15 @@ void clear_evtchn(uint32_t port)
 
 int xen_init(void)
 {
+	int el = current_el();
+
 	debug("%s\n", __func__);
 
+	if (el != 1) {
+		puts("XEN:\tnot running from EL1\n");
+		return 0;
+	}
+
 	map_shared_info(NULL);
 	init_events();
 	init_xenbus();