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/include/asm/setup.h | |
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/include/asm/setup.h')
-rw-r--r-- | arch/x86/include/asm/setup.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/x86/include/asm/setup.h b/arch/x86/include/asm/setup.h index 40b2d3304911..294daeb3a006 100644 --- a/arch/x86/include/asm/setup.h +++ b/arch/x86/include/asm/setup.h | |||
@@ -17,6 +17,7 @@ static inline int is_visws_box(void) { return 0; } | |||
17 | #endif | 17 | #endif |
18 | 18 | ||
19 | extern int wakeup_secondary_cpu_via_nmi(int apicid, unsigned long start_eip); | 19 | extern int wakeup_secondary_cpu_via_nmi(int apicid, unsigned long start_eip); |
20 | extern int wakeup_secondary_cpu_via_init(int apicid, unsigned long start_eip); | ||
20 | /* | 21 | /* |
21 | * Any setup quirks to be performed? | 22 | * Any setup quirks to be performed? |
22 | */ | 23 | */ |
@@ -40,7 +41,7 @@ struct x86_quirks { | |||
40 | void (*smp_read_mpc_oem)(struct mp_config_oemtable *oemtable, | 41 | void (*smp_read_mpc_oem)(struct mp_config_oemtable *oemtable, |
41 | unsigned short oemsize); | 42 | unsigned short oemsize); |
42 | int (*setup_ioapic_ids)(void); | 43 | int (*setup_ioapic_ids)(void); |
43 | int (*wakeup_secondary_cpu)(int apicid, unsigned long start_eip); | 44 | int (*update_genapic)(void); |
44 | }; | 45 | }; |
45 | 46 | ||
46 | extern struct x86_quirks *x86_quirks; | 47 | extern struct x86_quirks *x86_quirks; |