From f7c0b739e20613f35495f13a8598087cdc7c9fe3 Mon Sep 17 00:00:00 2001 From: Stefano Stabellini Date: Wed, 8 May 2013 11:59:01 +0000 Subject: [PATCH] --- yaml --- r: 375549 b: refs/heads/master c: 3cc8e40e8ff8e232a9dd672da81beabd09f87366 h: refs/heads/master i: 375547: deee0c6586b6d9a27139c290d714e5611863b878 v: v3 --- [refs] | 2 +- trunk/arch/arm/xen/enlighten.c | 15 ++++----------- 2 files changed, 5 insertions(+), 12 deletions(-) diff --git a/[refs] b/[refs] index 4008f0aae5a3..369d24c981e4 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: d7266d7894b111dee9b081c05944533bc8780eca +refs/heads/master: 3cc8e40e8ff8e232a9dd672da81beabd09f87366 diff --git a/trunk/arch/arm/xen/enlighten.c b/trunk/arch/arm/xen/enlighten.c index 3dfa2b5c787d..13609e01f4b7 100644 --- a/trunk/arch/arm/xen/enlighten.c +++ b/trunk/arch/arm/xen/enlighten.c @@ -152,11 +152,12 @@ int xen_unmap_domain_mfn_range(struct vm_area_struct *vma, } EXPORT_SYMBOL_GPL(xen_unmap_domain_mfn_range); -static int __init xen_secondary_init(unsigned int cpu) +static void __init xen_percpu_init(void *unused) { struct vcpu_register_vcpu_info info; struct vcpu_info *vcpup; int err; + int cpu = get_cpu(); pr_info("Xen: initializing cpu%d\n", cpu); vcpup = per_cpu_ptr(xen_vcpu_info, cpu); @@ -168,7 +169,7 @@ static int __init xen_secondary_init(unsigned int cpu) BUG_ON(err); per_cpu(xen_vcpu, cpu) = vcpup; - return 0; + enable_percpu_irq(xen_events_irq, 0); } static void xen_restart(char str, const char *cmd) @@ -204,7 +205,6 @@ static int __init xen_guest_init(void) const char *version = NULL; const char *xen_prefix = "xen,xen-"; struct resource res; - int i; node = of_find_compatible_node(NULL, NULL, "xen,xen"); if (!node) { @@ -261,8 +261,6 @@ static int __init xen_guest_init(void) sizeof(struct vcpu_info)); if (xen_vcpu_info == NULL) return -ENOMEM; - for_each_online_cpu(i) - xen_secondary_init(i); gnttab_init(); if (!xen_initial_domain()) @@ -287,11 +285,6 @@ static irqreturn_t xen_arm_callback(int irq, void *arg) return IRQ_HANDLED; } -static __init void xen_percpu_enable_events(void *unused) -{ - enable_percpu_irq(xen_events_irq, 0); -} - static int __init xen_init_events(void) { if (!xen_domain() || xen_events_irq < 0) @@ -305,7 +298,7 @@ static int __init xen_init_events(void) return -EINVAL; } - on_each_cpu(xen_percpu_enable_events, NULL, 0); + on_each_cpu(xen_percpu_init, NULL, 0); return 0; }