Lines Matching refs:ipi_mask
543 uint32_t ipi_mask = mbox_mask;
548 ipi_mask &= mips3_ld(cpu->cpu_mbox_set);
549 if (ipi_mask == 0)
553 mips3_sd(cpu->cpu_mbox_clr, ipi_mask);
555 KASSERT(__SHIFTOUT(ipi_mask, mbox_mask) < __BIT(NIPIS));
559 if (ipi_mask & __BIT(IPI_WDOG)) {
562 ipi_mask &= ~__BIT(IPI_WDOG);
564 if (__predict_true(ipi_mask == 0))
570 if ((atomic_load_relaxed(&ci->ci_request_ipis) & ipi_mask) == 0)
574 atomic_or_64(&ci->ci_active_ipis, ipi_mask);
575 atomic_and_64(&ci->ci_request_ipis, ~ipi_mask);
577 ipi_process(ci, __SHIFTOUT(ipi_mask, mbox_mask));
579 atomic_and_64(&ci->ci_active_ipis, ~ipi_mask);
603 const uint32_t ipi_mask = __BIT(req + ipi_shift);
606 atomic_or_64(&ci->ci_request_ipis, ipi_mask);
609 mips3_sd(cpu->cpu_mbox_set, ipi_mask);