void xen_send_IPI_allbutself(int vector) { int xen_vector = xen_map_vector(vector); if (xen_vector >= 0) xen_send_IPI_mask_allbutself(cpu_online_mask, xen_vector); }
void xen_send_IPI_self(int vector) { int xen_vector = xen_map_vector(vector); if (xen_vector >= 0) xen_send_IPI_one(smp_processor_id(), xen_vector); }
void xen_send_IPI_all(int vector) { int xen_vector = xen_map_vector(vector); if (xen_vector >= 0) __xen_send_IPI_mask(cpu_online_mask, xen_vector); }
void xen_send_IPI_mask(const struct cpumask *mask, int vector) { int xen_vector = xen_map_vector(vector); if (xen_vector >= 0) __xen_send_IPI_mask(mask, xen_vector); }
void xen_send_IPI_mask_allbutself(const struct cpumask *mask, int vector) { unsigned cpu; unsigned int this_cpu = smp_processor_id(); int xen_vector = xen_map_vector(vector); if (!(num_online_cpus() > 1) || (xen_vector < 0)) return; for_each_cpu_and(cpu, mask, cpu_online_mask) { if (this_cpu == cpu) continue; xen_send_IPI_one(cpu, xen_vector); } }