]> xenbits.xensource.com Git - people/julieng/linux-arm.git/commitdiff
xen: Call HYPERVISOR_vcpu_op() in xen_percpu_init() on resuming.
authorBhupinder Thakur <bhupinder.thakur@linaro.org>
Wed, 6 Sep 2017 09:39:58 +0000 (15:09 +0530)
committerBhupinder Thakur <bhupinder.thakur@linaro.org>
Wed, 6 Sep 2017 09:39:58 +0000 (15:09 +0530)
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 <bhupinder.thakur@linaro.org>
arch/arm/xen/enlighten.c

index a5bac7d6db0ee4c9b18bcc4a29f090423bbe023d..fe4dd622f45bf74dd7b013f9b2d281ccfd297c2d 100644 (file)
@@ -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;
 }