Changeset View
Changeset View
Standalone View
Standalone View
head/sys/riscv/riscv/mp_machdep.c
Show First 20 Lines • Show All 311 Lines • ▼ Show 20 Lines | |||||
static int | static int | ||||
ipi_handler(void *arg) | ipi_handler(void *arg) | ||||
{ | { | ||||
u_int ipi_bitmap; | u_int ipi_bitmap; | ||||
u_int cpu, ipi; | u_int cpu, ipi; | ||||
int bit; | int bit; | ||||
sbi_clear_ipi(); | csr_clear(sip, SIP_SSIP); | ||||
cpu = PCPU_GET(cpuid); | cpu = PCPU_GET(cpuid); | ||||
mb(); | mb(); | ||||
ipi_bitmap = atomic_readandclear_int(PCPU_PTR(pending_ipis)); | ipi_bitmap = atomic_readandclear_int(PCPU_PTR(pending_ipis)); | ||||
if (ipi_bitmap == 0) | if (ipi_bitmap == 0) | ||||
return (FILTER_HANDLED); | return (FILTER_HANDLED); | ||||
▲ Show 20 Lines • Show All 222 Lines • Show Last 20 Lines |