FreeBSD/sys/x86/x86/mp_x86.c
/*
 * send an IPI to a specific CPU.
 */
send an IPI to a specific CPU.
send an IPI to a specific CPU .
void
ipi_cpu(int cpu, u_int ipi)
{
	if (ipi == IPI_STOP_HARD)
		CPU_SET_ATOMIC(cpu, &ipi_stop_nmi_pending);
	CTR3(KTR_SMP, "%s: cpu: %d ipi: %x", __func__, cpu, ipi);
	ipi_send_cpu(cpu, ipi);
}
void ipi_cpu ( int cpu , u_int ipi ) { if ( ipi == IPI_STOP_HARD ) CPU_SET_ATOMIC ( cpu , & ipi_stop_nmi_pending ) ; CTR3 ( KTR_SMP , " " , __func__ , cpu , ipi ) ; ipi_send_cpu ( cpu , ipi ) ; }
send an IPI to a specific CPU.
send an IPI to a specific CPU .
/*
	 * IPI_STOP_HARD maps to a NMI and the trap handler needs a bit
	 * of help in order to understand what is the source.
	 * Set the mask of receiving CPUs for this purpose.
	 */