blob: 6f2b17a2008995d4939313982b165a8937ea6214 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#ifndef __ASM_MACH_IPI_H
2#define __ASM_MACH_IPI_H
3
4void send_IPI_mask_bitmask(cpumask_t mask, int vector);
5void __send_IPI_shortcut(unsigned int shortcut, int vector);
6
7static inline void send_IPI_mask(cpumask_t mask, int vector)
8{
9 send_IPI_mask_bitmask(mask, vector);
10}
11
12static 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
25static inline void send_IPI_all(int vector)
26{
27 __send_IPI_shortcut(APIC_DEST_ALLINC, vector);
28}
29
30#endif /* __ASM_MACH_IPI_H */