blob: a8a2c24f50ccfd34d8dca98cb399dcafc51a1c29 [file] [log] [blame]
Yinghai Lue8c48ef2008-07-25 02:17:44 -07001#ifndef __ASM_SUMMIT_IPI_H
2#define __ASM_SUMMIT_IPI_H
Linus Torvalds1da177e2005-04-16 15:20:36 -07003
Mike Travise7986732008-12-16 17:33:52 -08004void send_IPI_mask_sequence(const cpumask_t *mask, int vector);
5void send_IPI_mask_allbutself(const cpumask_t *mask, int vector);
Linus Torvalds1da177e2005-04-16 15:20:36 -07006
Mike Travise7986732008-12-16 17:33:52 -08007static inline void send_IPI_mask(const cpumask_t *mask, int vector)
Linus Torvalds1da177e2005-04-16 15:20:36 -07008{
9 send_IPI_mask_sequence(mask, vector);
10}
11
12static inline void send_IPI_allbutself(int vector)
13{
14 cpumask_t mask = cpu_online_map;
15 cpu_clear(smp_processor_id(), mask);
16
17 if (!cpus_empty(mask))
Mike Travise7986732008-12-16 17:33:52 -080018 send_IPI_mask(&mask, vector);
Linus Torvalds1da177e2005-04-16 15:20:36 -070019}
20
21static inline void send_IPI_all(int vector)
22{
Mike Travise7986732008-12-16 17:33:52 -080023 send_IPI_mask(&cpu_online_map, vector);
Linus Torvalds1da177e2005-04-16 15:20:36 -070024}
25
Yinghai Lue8c48ef2008-07-25 02:17:44 -070026#endif /* __ASM_SUMMIT_IPI_H */