aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/genapic_64.c
diff options
context:
space:
mode:
authorYinghai Lu <yinghai@kernel.org>2008-11-17 15:19:53 -0800
committerIngo Molnar <mingo@elte.hu>2008-11-18 00:27:24 +0100
commit54ac14a8e982ae6c7ac71ee2b0d0173b974509e2 (patch)
treefa716a60474c2e3592cd06afa52f381cdd2cece8 /arch/x86/kernel/genapic_64.c
parent569712b2b0970fa5b19673544d62ae661d04a220 (diff)
downloadkernel_samsung_smdk4412-54ac14a8e982ae6c7ac71ee2b0d0173b974509e2.zip
kernel_samsung_smdk4412-54ac14a8e982ae6c7ac71ee2b0d0173b974509e2.tar.gz
kernel_samsung_smdk4412-54ac14a8e982ae6c7ac71ee2b0d0173b974509e2.tar.bz2
x86: fix wakeup_cpu with numaq/es7000, v2, fix
Impact: fix wakeup_secondary_cpu with hotplug We can not put that into x86_quirks, because that is __initdata. So try to move that to genapic, and add update_genapic in x86_quirks. later we even could use that stub to: 1. autodetect CONFIG_ES7000_CLUSTERED_APIC 2. more correct inquire_remote_apic with apic_verbosity setting. Signed-off-by: Yinghai Lu <yinghai@kernel.org> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel/genapic_64.c')
-rw-r--r--arch/x86/kernel/genapic_64.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/x86/kernel/genapic_64.c b/arch/x86/kernel/genapic_64.c
index 6c9bfc9..2bced78 100644
--- a/arch/x86/kernel/genapic_64.c
+++ b/arch/x86/kernel/genapic_64.c
@@ -21,6 +21,7 @@
#include <asm/smp.h>
#include <asm/ipi.h>
#include <asm/genapic.h>
+#include <asm/setup.h>
extern struct genapic apic_flat;
extern struct genapic apic_physflat;
@@ -53,6 +54,9 @@ void __init setup_apic_routing(void)
genapic = &apic_physflat;
printk(KERN_INFO "Setting APIC routing to %s\n", genapic->name);
}
+
+ if (x86_quirks->update_genapic)
+ x86_quirks->update_genapic();
}
/* Same for both flat and physical. */