blob: 78f0daaee436333d9162013c62324dfe66bb1b9b [file] [log] [blame]
Yinghai Luc7e79642008-07-25 02:17:33 -07001#ifndef __ASM_ES7000_WAKECPU_H
2#define __ASM_ES7000_WAKECPU_H
Linus Torvalds1da177e2005-04-16 15:20:36 -07003
Yinghai Lu569712b2008-11-16 03:12:49 -08004#define TRAMPOLINE_PHYS_LOW 0x467
5#define TRAMPOLINE_PHYS_HIGH 0x469
Linus Torvalds1da177e2005-04-16 15:20:36 -07006
7static inline void wait_for_init_deassert(atomic_t *deassert)
8{
Yinghai Lu569712b2008-11-16 03:12:49 -08009#ifndef CONFIG_ES7000_CLUSTERED_APIC
Satyam Sharma62be9002007-08-16 06:09:25 +053010 while (!atomic_read(deassert))
11 cpu_relax();
Linus Torvalds1da177e2005-04-16 15:20:36 -070012#endif
13 return;
14}
15
16/* Nothing to do for most platforms, since cleared by the INIT cycle */
17static inline void smp_callin_clear_local_apic(void)
18{
19}
20
21static inline void store_NMI_vector(unsigned short *high, unsigned short *low)
22{
23}
24
25static inline void restore_NMI_vector(unsigned short *high, unsigned short *low)
26{
27}
28
Yinghai Lu569712b2008-11-16 03:12:49 -080029extern void __inquire_remote_apic(int apicid);
30
31static inline void inquire_remote_apic(int apicid)
32{
33 if (apic_verbosity >= APIC_DEBUG)
34 __inquire_remote_apic(apicid);
35}
Linus Torvalds1da177e2005-04-16 15:20:36 -070036
Yinghai Luc7e79642008-07-25 02:17:33 -070037#endif /* __ASM_MACH_WAKECPU_H */