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>
This commit is contained in:
@ -331,10 +331,27 @@ struct apic {
|
|||||||
u32 (*safe_wait_icr_idle)(void);
|
u32 (*safe_wait_icr_idle)(void);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Pointer to the local APIC driver in use on this system (there's
|
||||||
|
* always just one such driver in use - the kernel decides via an
|
||||||
|
* early probing process which one it picks - and then sticks to it):
|
||||||
|
*/
|
||||||
extern struct apic *apic;
|
extern struct apic *apic;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* APIC functionality to boot other CPUs - only used on SMP:
|
||||||
|
*/
|
||||||
|
#ifdef CONFIG_SMP
|
||||||
extern atomic_t init_deasserted;
|
extern atomic_t init_deasserted;
|
||||||
extern int wakeup_secondary_cpu_via_nmi(int apicid, unsigned long start_eip);
|
extern int wakeup_secondary_cpu_via_nmi(int apicid, unsigned long start_eip);
|
||||||
extern int wakeup_secondary_cpu_via_init(int apicid, unsigned long start_eip);
|
extern int wakeup_secondary_cpu_via_init(int apicid, unsigned long start_eip);
|
||||||
|
#else
|
||||||
|
static inline int
|
||||||
|
wakeup_secondary_cpu_via_init(int apicid, unsigned long start_eip)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
static inline u32 apic_read(u32 reg)
|
static inline u32 apic_read(u32 reg)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user