Subversion Repositories shark

Rev

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
/*
12
 * On PC-9800, continuation on warm reset is done by loading
13
 * %ss:%sp from 0x0000:0404 and executing 'lret', so:
14
 */
15
#define TRAMPOLINE_LOW phys_to_virt(0x4fa)
16
#define TRAMPOLINE_HIGH phys_to_virt(0x4fc)
17
 
18
#define boot_cpu_apicid boot_cpu_physical_apicid
19
 
20
static inline void wait_for_init_deassert(atomic_t *deassert)
21
{
22
        while (!atomic_read(deassert));
23
        return;
24
}
25
 
26
/* Nothing to do for most platforms, since cleared by the INIT cycle */
27
static inline void smp_callin_clear_local_apic(void)
28
{
29
}
30
 
31
static inline void store_NMI_vector(unsigned short *high, unsigned short *low)
32
{
33
}
34
 
35
static inline void restore_NMI_vector(unsigned short *high, unsigned short *low)
36
{
37
}
38
 
39
#if APIC_DEBUG
40
 #define inquire_remote_apic(apicid) __inquire_remote_apic(apicid)
41
#else
42
 #define inquire_remote_apic(apicid) {}
43
#endif
44
 
45
#endif /* __ASM_MACH_WAKECPU_H */