diff options
author | Yinghai Lu <yinghai@kernel.org> | 2008-11-17 18:19:53 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-11-17 18:27:24 -0500 |
commit | 54ac14a8e982ae6c7ac71ee2b0d0173b974509e2 (patch) | |
tree | fa716a60474c2e3592cd06afa52f381cdd2cece8 /arch/x86/kernel/smpboot.c | |
parent | 569712b2b0970fa5b19673544d62ae661d04a220 (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.c | 11 |
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 | ||
618 | static int __devinit | 618 | int __devinit |
619 | wakeup_secondary_cpu_via_init(int phys_apicid, unsigned long start_eip) | 619 | wakeup_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 | ||
739 | static int __devinit | ||
740 | wakeup_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 | |||
748 | struct create_idle { | 739 | struct create_idle { |
749 | struct work_struct work; | 740 | struct work_struct work; |
750 | struct task_struct *idle; | 741 | struct task_struct *idle; |