summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoger Pau Monne <roger.pau@citrix.com>2018-01-16 14:48:53 +0000
committerIan Jackson <Ian.Jackson@eu.citrix.com>2018-01-16 16:20:14 +0000
commit0a515eeb966add7c63d764cabffec3b2f560a588 (patch)
tree13b99b3a993c753b7b8c7e05f62a5ec4c90fbc97
parent0e2d64ae8f4af4dbd49127107ae6237e7f748c04 (diff)
downloadxen-0a515eeb966add7c63d764cabffec3b2f560a588.tar.gz
xen/pvshim: map vcpu_info earlier for APs
Or else init_percpu_time is going to dereference a NULL pointer when trying to access vcpu_info. Signed-off-by: Roger Pau Monné <roger.pau@citrix.com> Tested-by: George Dunlap <george.dunlap@citrix.com>
-rw-r--r--xen/arch/x86/smpboot.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
index 5c7863035e..5ed82b16a8 100644
--- a/xen/arch/x86/smpboot.c
+++ b/xen/arch/x86/smpboot.c
@@ -346,6 +346,9 @@ void start_secondary(void *unused)
else
microcode_resume_cpu(cpu);
+ if ( xen_guest )
+ hypervisor_ap_setup();
+
smp_callin();
init_percpu_time();
@@ -374,9 +377,6 @@ void start_secondary(void *unused)
cpumask_set_cpu(cpu, &cpu_online_map);
unlock_vector_lock();
- if ( xen_guest )
- hypervisor_ap_setup();
-
/* We can take interrupts now: we're officially "up". */
local_irq_enable();
mtrr_ap_init();