From: Bhupinder Thakur Date: Wed, 6 Sep 2017 09:39:58 +0000 (+0530) Subject: xen: Call HYPERVISOR_vcpu_op() in xen_percpu_init() on resuming. X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=970c7afffab4e196970917d5eef416e3598cbd1b;p=people%2Fjulieng%2Flinux-arm.git xen: Call HYPERVISOR_vcpu_op() in xen_percpu_init() on resuming. It was currently skipping calling it as per_cpu(xen_vcpu, cpu) was initialized. But on resuming, it needs to be called again. Signed-off-by: Bhupinder Thakur --- diff --git a/arch/arm/xen/enlighten.c b/arch/arm/xen/enlighten.c index a5bac7d6db0e..fe4dd622f45b 100644 --- a/arch/arm/xen/enlighten.c +++ b/arch/arm/xen/enlighten.c @@ -159,6 +159,7 @@ static int xen_starting_cpu(unsigned int cpu) struct vcpu_info *vcpup; int err; +#if 0 /* * VCPUOP_register_vcpu_info cannot be called twice for the same * vcpu, so if vcpu_info is already registered, just get out. This @@ -166,6 +167,7 @@ static int xen_starting_cpu(unsigned int cpu) */ if (per_cpu(xen_vcpu, cpu) != NULL) goto after_register_vcpu_info; +#endif pr_info("Xen: initializing cpu%d\n", cpu); vcpup = per_cpu_ptr(xen_vcpu_info, cpu); @@ -178,9 +180,8 @@ static int xen_starting_cpu(unsigned int cpu) BUG_ON(err); per_cpu(xen_vcpu, cpu) = vcpup; - xen_setup_runstate_info(cpu); - after_register_vcpu_info: + xen_setup_runstate_info(cpu); enable_percpu_irq(xen_events_irq, 0); return 0; }