Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
424 | giacomo | 1 | #ifndef __ASM_MACH_WAKECPU_H |
2 | #define __ASM_MACH_WAKECPU_H |
||
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 | { |
||
18 | while (!atomic_read(deassert)); |
||
19 | return; |
||
20 | } |
||
21 | |||
22 | /* Nothing to do for most platforms, since cleared by the INIT cycle */ |
||
23 | static inline void smp_callin_clear_local_apic(void) |
||
24 | { |
||
25 | } |
||
26 | |||
27 | static inline void store_NMI_vector(unsigned short *high, unsigned short *low) |
||
28 | { |
||
29 | } |
||
30 | |||
31 | static inline void restore_NMI_vector(unsigned short *high, unsigned short *low) |
||
32 | { |
||
33 | } |
||
34 | |||
35 | #if APIC_DEBUG |
||
36 | #define inquire_remote_apic(apicid) __inquire_remote_apic(apicid) |
||
37 | #else |
||
38 | #define inquire_remote_apic(apicid) {} |
||
39 | #endif |
||
40 | |||
41 | #endif /* __ASM_MACH_WAKECPU_H */ |