aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/setup.c
diff options
context:
space:
mode:
authorYinghai Lu <yinghai@kernel.org>2008-11-17 18:19:53 -0500
committerIngo Molnar <mingo@elte.hu>2008-11-17 18:27:24 -0500
commit54ac14a8e982ae6c7ac71ee2b0d0173b974509e2 (patch)
treefa716a60474c2e3592cd06afa52f381cdd2cece8 /arch/x86/kernel/setup.c
parent569712b2b0970fa5b19673544d62ae661d04a220 (diff)
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/setup.c')
-rw-r--r--arch/x86/kernel/setup.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index 0fa6790c1dd3..c366e891e10b 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -583,7 +583,18 @@ static int __init setup_elfcorehdr(char *arg)
583early_param("elfcorehdr", setup_elfcorehdr); 583early_param("elfcorehdr", setup_elfcorehdr);
584#endif 584#endif
585 585
586static struct x86_quirks default_x86_quirks __initdata; 586static int __init default_update_genapic(void)
587{
588#if defined(CONFIG_X86_GENERICARCH) || defined(CONFIG_X86_64)
589 genapic->wakeup_cpu = wakeup_secondary_cpu_via_nmi;
590#endif
591
592 return 0;
593}
594
595static struct x86_quirks default_x86_quirks __initdata = {
596 .update_genapic = default_update_genapic,
597};
587 598
588struct x86_quirks *x86_quirks __initdata = &default_x86_quirks; 599struct x86_quirks *x86_quirks __initdata = &default_x86_quirks;
589 600