aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/smpboot.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/smpboot.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/smpboot.c')
-rw-r--r--arch/x86/kernel/smpboot.c11
1 files changed, 1 insertions, 10 deletions
diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c
index 498c1ef37fe0..0e9f446269f4 100644
--- a/arch/x86/kernel/smpboot.c
+++ b/arch/x86/kernel/smpboot.c
@@ -615,7 +615,7 @@ wakeup_secondary_cpu_via_nmi(int logical_apicid, unsigned long start_eip)
615 return (send_status | accept_status); 615 return (send_status | accept_status);
616} 616}
617 617
618static int __devinit 618int __devinit
619wakeup_secondary_cpu_via_init(int phys_apicid, unsigned long start_eip) 619wakeup_secondary_cpu_via_init(int phys_apicid, unsigned long start_eip)
620{ 620{
621 unsigned long send_status, accept_status = 0; 621 unsigned long send_status, accept_status = 0;
@@ -736,15 +736,6 @@ wakeup_secondary_cpu_via_init(int phys_apicid, unsigned long start_eip)
736 return (send_status | accept_status); 736 return (send_status | accept_status);
737} 737}
738 738
739static int __devinit
740wakeup_secondary_cpu(int apicid, unsigned long start_eip)
741{
742 if (x86_quirks->wakeup_secondary_cpu)
743 return x86_quirks->wakeup_secondary_cpu(apicid, start_eip);
744
745 return wakeup_secondary_cpu_via_init(apicid, start_eip);
746}
747
748struct create_idle { 739struct create_idle {
749 struct work_struct work; 740 struct work_struct work;
750 struct task_struct *idle; 741 struct task_struct *idle;