1 #ifndef __ASM_SUMMIT_IPI_H |
1 #ifndef __ASM_SUMMIT_IPI_H |
2 #define __ASM_SUMMIT_IPI_H |
2 #define __ASM_SUMMIT_IPI_H |
3 |
3 |
4 void send_IPI_mask_sequence(cpumask_t mask, int vector); |
4 void send_IPI_mask_sequence(const cpumask_t *mask, int vector); |
|
5 void send_IPI_mask_allbutself(const cpumask_t *mask, int vector); |
5 |
6 |
6 static inline void send_IPI_mask(cpumask_t mask, int vector) |
7 static inline void send_IPI_mask(const cpumask_t *mask, int vector) |
7 { |
8 { |
8 send_IPI_mask_sequence(mask, vector); |
9 send_IPI_mask_sequence(mask, vector); |
9 } |
10 } |
10 |
11 |
11 static inline void send_IPI_allbutself(int vector) |
12 static inline void send_IPI_allbutself(int vector) |
12 { |
13 { |
13 cpumask_t mask = cpu_online_map; |
14 cpumask_t mask = cpu_online_map; |
14 cpu_clear(smp_processor_id(), mask); |
15 cpu_clear(smp_processor_id(), mask); |
15 |
16 |
16 if (!cpus_empty(mask)) |
17 if (!cpus_empty(mask)) |
17 send_IPI_mask(mask, vector); |
18 send_IPI_mask(&mask, vector); |
18 } |
19 } |
19 |
20 |
20 static inline void send_IPI_all(int vector) |
21 static inline void send_IPI_all(int vector) |
21 { |
22 { |
22 send_IPI_mask(cpu_online_map, vector); |
23 send_IPI_mask(&cpu_online_map, vector); |
23 } |
24 } |
24 |
25 |
25 #endif /* __ASM_SUMMIT_IPI_H */ |
26 #endif /* __ASM_SUMMIT_IPI_H */ |