2008-07-25 05:17:55 -04:00
|
|
|
#ifndef __ASM_NUMAQ_IPI_H
|
|
|
|
#define __ASM_NUMAQ_IPI_H
|
2005-04-16 18:20:36 -04:00
|
|
|
|
2008-12-16 20:33:52 -05:00
|
|
|
void send_IPI_mask_sequence(const cpumask_t *mask, int vector);
|
|
|
|
void send_IPI_mask_allbutself(const cpumask_t *mask, int vector);
|
2005-04-16 18:20:36 -04:00
|
|
|
|
2008-12-16 20:33:52 -05:00
|
|
|
static inline void send_IPI_mask(const cpumask_t *mask, int vector)
|
2005-04-16 18:20:36 -04:00
|
|
|
{
|
|
|
|
send_IPI_mask_sequence(mask, vector);
|
|
|
|
}
|
|
|
|
|
|
|
|
static inline void send_IPI_allbutself(int vector)
|
|
|
|
{
|
|
|
|
cpumask_t mask = cpu_online_map;
|
|
|
|
cpu_clear(smp_processor_id(), mask);
|
|
|
|
|
|
|
|
if (!cpus_empty(mask))
|
2008-12-16 20:33:52 -05:00
|
|
|
send_IPI_mask(&mask, vector);
|
2005-04-16 18:20:36 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
static inline void send_IPI_all(int vector)
|
|
|
|
{
|
2008-12-16 20:33:52 -05:00
|
|
|
send_IPI_mask(&cpu_online_map, vector);
|
2005-04-16 18:20:36 -04:00
|
|
|
}
|
|
|
|
|
2008-07-25 05:17:55 -04:00
|
|
|
#endif /* __ASM_NUMAQ_IPI_H */
|