aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/include/asm/apic.h
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2009-02-26 06:47:40 -0500
committerIngo Molnar <mingo@elte.hu>2009-02-26 06:49:34 -0500
commit0917c01f8e793f57a53cf886533d4c75c67f6e89 (patch)
tree0aaf2e2107ecb54f28bcd97c2b9706842f395552 /arch/x86/include/asm/apic.h
parent129d8bc828e011bda0b7110a097bf3a0167f966e (diff)
x86: remove update_apic from x86_quirks, fix
Impact: build fix wakeup_secondary_cpu_via_init(), the default platform method for booting a secondary CPU, is always used on UP due to probe_32.c, if CONFIG_X86_LOCAL_APIC is enabled but SMP is off. So provide a UP wrapper inline as well. Cc: Yinghai Lu <yinghai@kernel.org> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/include/asm/apic.h')
-rw-r--r--arch/x86/include/asm/apic.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/arch/x86/include/asm/apic.h b/arch/x86/include/asm/apic.h
index 24e21273e30..0fbf6f1520f 100644
--- a/arch/x86/include/asm/apic.h
+++ b/arch/x86/include/asm/apic.h
@@ -331,10 +331,27 @@ struct apic {
331 u32 (*safe_wait_icr_idle)(void); 331 u32 (*safe_wait_icr_idle)(void);
332}; 332};
333 333
334/*
335 * Pointer to the local APIC driver in use on this system (there's
336 * always just one such driver in use - the kernel decides via an
337 * early probing process which one it picks - and then sticks to it):
338 */
334extern struct apic *apic; 339extern struct apic *apic;
340
341/*
342 * APIC functionality to boot other CPUs - only used on SMP:
343 */
344#ifdef CONFIG_SMP
335extern atomic_t init_deasserted; 345extern atomic_t init_deasserted;
336extern int wakeup_secondary_cpu_via_nmi(int apicid, unsigned long start_eip); 346extern int wakeup_secondary_cpu_via_nmi(int apicid, unsigned long start_eip);
337extern int wakeup_secondary_cpu_via_init(int apicid, unsigned long start_eip); 347extern int wakeup_secondary_cpu_via_init(int apicid, unsigned long start_eip);
348#else
349static inline int
350wakeup_secondary_cpu_via_init(int apicid, unsigned long start_eip)
351{
352 return 0;
353}
354#endif
338 355
339static inline u32 apic_read(u32 reg) 356static inline u32 apic_read(u32 reg)
340{ 357{