]> rtime.felk.cvut.cz Git - jailhouse.git/blobdiff - hypervisor/arch/arm/setup.c
Merge remote-tracking branch 'kiszka/master'
[jailhouse.git] / hypervisor / arch / arm / setup.c
index ef6f9e0ed04f24e4098df879d1bdfb47cca3a6ed..db5fef187a079655e203a647a1820d6ba53e6933 100644 (file)
@@ -17,6 +17,7 @@
 #include <asm/sysregs.h>
 #include <jailhouse/control.h>
 #include <jailhouse/paging.h>
+#include <jailhouse/processor.h>
 #include <jailhouse/string.h>
 
 unsigned int cache_line_size;
@@ -56,6 +57,7 @@ int arch_cpu_init(struct per_cpu *cpu_data)
 
        cpu_data->psci_mbox.entry = 0;
        cpu_data->virt_id = cpu_data->cpu_id;
+       cpu_data->mpidr = phys_processor_id();
 
        /*
         * Copy the registers to restore from the linux stack here, because we
@@ -129,7 +131,7 @@ void __attribute__((noreturn)) arch_cpu_activate_vmm(struct per_cpu *cpu_data)
                 */
                "eret\n\t"
                :
-               : "r" (cpu_data->stack + PERCPU_STACK_END),
+               : "r" (cpu_data->stack + sizeof(cpu_data->stack)),
                  "r" (cpu_data->linux_reg));
 
        __builtin_unreachable();