x86, smp: refactor ->wake_cpu
- remove macro wrappers Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
@ -19,10 +19,8 @@ static inline const struct cpumask *default_target_cpus(void)
|
|||||||
#ifdef CONFIG_X86_64
|
#ifdef CONFIG_X86_64
|
||||||
#include <asm/genapic.h>
|
#include <asm/genapic.h>
|
||||||
#define read_apic_id() (apic->get_apic_id(apic_read(APIC_ID)))
|
#define read_apic_id() (apic->get_apic_id(apic_read(APIC_ID)))
|
||||||
#define wakeup_secondary_cpu (apic->wakeup_cpu)
|
|
||||||
extern void default_setup_apic_routing(void);
|
extern void default_setup_apic_routing(void);
|
||||||
#else
|
#else
|
||||||
#define wakeup_secondary_cpu wakeup_secondary_cpu_via_init
|
|
||||||
/*
|
/*
|
||||||
* Set up the logical destination ID.
|
* Set up the logical destination ID.
|
||||||
*
|
*
|
||||||
|
@ -3,8 +3,6 @@
|
|||||||
|
|
||||||
#include <asm/genapic.h>
|
#include <asm/genapic.h>
|
||||||
|
|
||||||
#define wakeup_secondary_cpu (apic->wakeup_cpu)
|
|
||||||
|
|
||||||
extern void generic_bigsmp_probe(void);
|
extern void generic_bigsmp_probe(void);
|
||||||
|
|
||||||
#endif /* _ASM_X86_MACH_GENERIC_MACH_APIC_H */
|
#endif /* _ASM_X86_MACH_GENERIC_MACH_APIC_H */
|
||||||
|
@ -589,9 +589,8 @@ early_param("elfcorehdr", setup_elfcorehdr);
|
|||||||
static int __init default_update_genapic(void)
|
static int __init default_update_genapic(void)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_X86_SMP
|
#ifdef CONFIG_X86_SMP
|
||||||
# if defined(CONFIG_X86_GENERICARCH) || defined(CONFIG_X86_64)
|
if (!apic->wakeup_cpu)
|
||||||
apic->wakeup_cpu = wakeup_secondary_cpu_via_init;
|
apic->wakeup_cpu = wakeup_secondary_cpu_via_init;
|
||||||
# endif
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -750,7 +750,7 @@ static int __cpuinit do_boot_cpu(int apicid, int cpu)
|
|||||||
/*
|
/*
|
||||||
* NOTE - on most systems this is a PHYSICAL apic ID, but on multiquad
|
* NOTE - on most systems this is a PHYSICAL apic ID, but on multiquad
|
||||||
* (ie clustered apic addressing mode), this is a LOGICAL apic ID.
|
* (ie clustered apic addressing mode), this is a LOGICAL apic ID.
|
||||||
* Returns zero if CPU booted OK, else error code from wakeup_secondary_cpu.
|
* Returns zero if CPU booted OK, else error code from ->wakeup_cpu.
|
||||||
*/
|
*/
|
||||||
{
|
{
|
||||||
unsigned long boot_error = 0;
|
unsigned long boot_error = 0;
|
||||||
@ -841,7 +841,7 @@ do_rest:
|
|||||||
/*
|
/*
|
||||||
* Starting actual IPI sequence...
|
* Starting actual IPI sequence...
|
||||||
*/
|
*/
|
||||||
boot_error = wakeup_secondary_cpu(apicid, start_ip);
|
boot_error = apic->wakeup_cpu(apicid, start_ip);
|
||||||
|
|
||||||
if (!boot_error) {
|
if (!boot_error) {
|
||||||
/*
|
/*
|
||||||
|
Reference in New Issue
Block a user