ARMv8: setting l0page tables for when doing PSCI boot
@@ -1162,6 +1162,7 @@ static struct sysret handle_debug_syscall(int msg)
}
#include <psci.h>
+#include <barrelfish_kpi/arm_core_data.h>
/* XXX - function documentation is inconsistent. */
/**
@@ -1237,6 +1238,8 @@ void sys_syscall(uint64_t a0, uint64_t a1, uint64_t a2, uint64_t a3,
case SYSCALL_DEBUG:
if (a1 == DEBUG_PSCI_CPU_ON) {
printf("Invoking PSCI on: cpu=%lx, entry=%lx, context=%lx\n", a2, a3, a4);
+ struct armv8_core_data *cd = (struct armv8_core_data *)local_phys_to_mem(a4);
+ cd->kernel_l0_pagetable = sysreg_read_ttbr1_el1();
r.error = psci_cpu_on(a2, a3, a4);
break;
}
