ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.6.tar.bz2
[linux-2.6.git] / include / asm-i386 / mach-default / mach_ipi.h
1 #ifndef __ASM_MACH_IPI_H
2 #define __ASM_MACH_IPI_H
3
4 inline void send_IPI_mask_bitmask(cpumask_t mask, int vector);
5 inline void __send_IPI_shortcut(unsigned int shortcut, int vector);
6
7 static inline void send_IPI_mask(cpumask_t mask, int vector)
8 {
9         send_IPI_mask_bitmask(mask, vector);
10 }
11
12 static inline void send_IPI_allbutself(int vector)
13 {
14         /*
15          * if there are no other CPUs in the system then we get an APIC send 
16          * error if we try to broadcast, thus avoid sending IPIs in this case.
17          */
18         if (!(num_online_cpus() > 1))
19                 return;
20
21         __send_IPI_shortcut(APIC_DEST_ALLBUT, vector);
22         return;
23 }
24
25 static inline void send_IPI_all(int vector)
26 {
27         __send_IPI_shortcut(APIC_DEST_ALLINC, vector);
28 }
29
30 #endif /* __ASM_MACH_IPI_H */