]>
Commit | Line | Data |
---|---|---|
1965aae3 PA |
1 | #ifndef _ASM_X86_MACH_DEFAULT__MACH_WAKECPU_H |
2 | #define _ASM_X86_MACH_DEFAULT__MACH_WAKECPU_H | |
1da177e4 LT |
3 | |
4 | /* | |
5 | * This file copes with machines that wakeup secondary CPUs by the | |
6 | * INIT, INIT, STARTUP sequence. | |
7 | */ | |
8 | ||
9 | #define WAKE_SECONDARY_VIA_INIT | |
10 | ||
11 | #define TRAMPOLINE_LOW phys_to_virt(0x467) | |
12 | #define TRAMPOLINE_HIGH phys_to_virt(0x469) | |
13 | ||
14 | #define boot_cpu_apicid boot_cpu_physical_apicid | |
15 | ||
16 | static inline void wait_for_init_deassert(atomic_t *deassert) | |
17 | { | |
62be9001 SS |
18 | while (!atomic_read(deassert)) |
19 | cpu_relax(); | |
1da177e4 LT |
20 | return; |
21 | } | |
22 | ||
23 | /* Nothing to do for most platforms, since cleared by the INIT cycle */ | |
24 | static inline void smp_callin_clear_local_apic(void) | |
25 | { | |
26 | } | |
27 | ||
28 | static inline void store_NMI_vector(unsigned short *high, unsigned short *low) | |
29 | { | |
30 | } | |
31 | ||
32 | static inline void restore_NMI_vector(unsigned short *high, unsigned short *low) | |
33 | { | |
34 | } | |
35 | ||
36 | #if APIC_DEBUG | |
37 | #define inquire_remote_apic(apicid) __inquire_remote_apic(apicid) | |
38 | #else | |
39 | #define inquire_remote_apic(apicid) {} | |
40 | #endif | |
41 | ||
1965aae3 | 42 | #endif /* _ASM_X86_MACH_DEFAULT__MACH_WAKECPU_H */ |