Home
last modified time | relevance | path

Searched full:ipi (Results 1 – 25 of 142) sorted by relevance

123456

/freebsd/sys/contrib/device-tree/Bindings/mailbox/
H A Dxlnx,zynqmp-ipi-mailbox.txt1 Xilinx IPI Mailbox Controller
4 The Xilinx IPI(Inter Processor Interrupt) mailbox controller is to manage
5 messaging between two Xilinx Zynq UltraScale+ MPSoC IPI agents. Each IPI
9 | Xilinx ZynqMP IPI Controller |
21 Hardware | | IPI Agent | | IPI Buffers | |
26 | Xilinx IPI Agent Block |
34 IPI agent node:
35 - compatible: Shall be: "xlnx,zynqmp-ipi-mailbox"
39 - xlnx,ipi-id: local Xilinx IPI agent ID
40 - #address-cells: number of address cells of internal IPI mailbox nodes
[all …]
H A Dxlnx,zynqmp-ipi-mailbox.yaml4 $id: http://devicetree.org/schemas/mailbox/xlnx,zynqmp-ipi-mailbox.yaml#
7 title: Xilinx IPI(Inter Processor Interrupt) mailbox controller
10 The Xilinx IPI(Inter Processor Interrupt) mailbox controller is to manage
11 messaging between two Xilinx Zynq UltraScale+ MPSoC IPI agents. Each IPI
15 | Xilinx ZynqMP IPI Controller |
27 Hardware | | IPI Agent | | IPI Buffers | |
32 | Xilinx IPI Agent Block |
41 - xlnx,zynqmp-ipi
[all...]
/freebsd/sys/riscv/riscv/
H A Dsbi_ipi.c56 u_int ipi) in sbi_ipi_pic_ipi_send() argument
65 KASSERT(isrc == &sc->isrc, ("%s: not the IPI isrc", __func__)); in sbi_ipi_pic_ipi_send()
66 KASSERT(ipi < INTR_IPI_COUNT, in sbi_ipi_pic_ipi_send()
67 ("%s: not a valid IPI: %u", __func__, ipi)); in sbi_ipi_pic_ipi_send()
73 atomic_set_32(&sc->pending_ipis[cpu], 1u << ipi); in sbi_ipi_pic_ipi_send()
81 sbi_ipi_pic_ipi_setup(device_t dev, u_int ipi, struct intr_irqsrc **isrcp) in sbi_ipi_pic_ipi_setup() argument
87 KASSERT(ipi < INTR_IPI_COUNT, in sbi_ipi_pic_ipi_setup()
88 ("%s: not a valid IPI: %u", __func__, ipi)); in sbi_ipi_pic_ipi_setup()
101 u_int cpu, ipi; in sbi_ipi_intr() local
119 ipi = (bit - 1); in sbi_ipi_intr()
[all …]
H A Dmp_machdep.c122 /* Setup the IPI handlers */ in release_aps()
199 /* enable IPI's, tlb shootdown, freezes etc */ in init_secondary()
494 ipi_all_but_self(u_int ipi) in ipi_all_but_self() argument
501 CTR2(KTR_SMP, "%s: ipi: %x", __func__, ipi); in ipi_all_but_self()
502 intr_ipi_send(other_cpus, ipi); in ipi_all_but_self()
506 ipi_cpu(int cpu, u_int ipi) in ipi_cpu() argument
513 CTR3(KTR_SMP, "%s: cpu: %d, ipi: %x", __func__, cpu, ipi); in ipi_cpu()
514 intr_ipi_send(cpus, ipi); in ipi_cpu()
518 ipi_selected(cpuset_t cpus, u_int ipi) in ipi_selected() argument
520 CTR1(KTR_SMP, "ipi_selected: ipi: %x", ipi); in ipi_selected()
[all …]
/freebsd/sys/x86/x86/
H A Dmp_x86.c1051 * mode while BSP might still want to send some IPI to us in init_secondary_tail()
1052 * (second startup IPI is ignored on modern hardware etc). in init_secondary_tail()
1116 /* enable IPI's, tlb shootdown, freezes etc */ in init_secondary_tail()
1224 * Init and startup IPI.
1233 * For each IPI, we allow the local APIC ~20us to deliver the in ipi_startup()
1234 * IPI. If that times out, we panic. in ipi_startup()
1238 * first we do an INIT IPI: this INIT IPI might be run, resetting in ipi_startup()
1239 * and running the target CPU. OR this INIT IPI might be latched (P5 in ipi_startup()
1240 * bug), CPU waiting for STARTUP IPI. OR this INIT IPI might be in ipi_startup()
1247 /* Explicitly deassert the INIT IPI. */ in ipi_startup()
[all …]
/freebsd/sys/arm/arm/
H A Dmp_machdep.c196 /* enable IPI's, tlb shootdown, freezes etc */ in init_secondary()
338 /* Sending IPI */
340 ipi_all_but_self(u_int ipi) in ipi_all_but_self() argument
346 CTR2(KTR_SMP, "%s: ipi: %x", __func__, ipi); in ipi_all_but_self()
347 intr_ipi_send(other_cpus, ipi); in ipi_all_but_self()
351 ipi_cpu(int cpu, u_int ipi) in ipi_cpu() argument
358 CTR3(KTR_SMP, "%s: cpu: %d, ipi: %x", __func__, cpu, ipi); in ipi_cpu()
359 intr_ipi_send(cpus, ipi); in ipi_cpu()
363 ipi_selected(cpuset_t cpus, u_int ipi) in ipi_selected() argument
366 CTR2(KTR_SMP, "%s: ipi: %x", __func__, ipi); in ipi_selected()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/
H A DAArch64PromoteConstant.cpp205 /// Transfer the list of dominated uses of IPI to NewPt in InsertPts.
206 /// Append Use to this list and delete the entry of IPI in InsertPts.
209 InsertionPoints::iterator &IPI, in appendAndTransferDominatedUses() argument
212 IPI->second.emplace_back(User, OpNo); in appendAndTransferDominatedUses()
213 // Transfer the dominated uses of IPI to NewPt in appendAndTransferDominatedUses()
216 // value so that we don't have to dereference IPI->second. in appendAndTransferDominatedUses()
217 Instruction *OldInstr = IPI->first; in appendAndTransferDominatedUses()
218 Uses OldUses = std::move(IPI->second); in appendAndTransferDominatedUses()
220 // Erase IPI. in appendAndTransferDominatedUses()
389 for (auto &IPI : InsertPts) { in isDominated() local
[all …]
/freebsd/sys/powerpc/include/
H A Dopenpicreg.h40 /* IPI dispatch command reg */
41 #define OPENPIC_IPI_DISPATCH(ipi) (0x40 + (ipi) * 0x10) argument
84 /* IPI vector/priority reg */
85 #define OPENPIC_IPI_VECTOR(ipi) (0x10a0 + (ipi) * 0x10) argument
128 #define OPENPIC_PCPU_IPI_DISPATCH(cpu, ipi) \ argument
129 (OPENPIC_PCPU_BASE(cpu) + OPENPIC_IPI_DISPATCH(ipi))
/freebsd/sys/powerpc/powerpc/
H A Dmp_machdep.c341 ipi_send(struct pcpu *pc, int ipi) in ipi_send() argument
344 CTR4(KTR_SMP, "%s: pc=%p, targetcpu=%d, IPI=%d", __func__, in ipi_send()
345 pc, pc->pc_cpuid, ipi); in ipi_send()
347 atomic_set_32(&pc->pc_ipimask, (1 << ipi)); in ipi_send()
354 /* Send an IPI to a set of cpus. */
356 ipi_selected(cpuset_t cpus, int ipi) in ipi_selected() argument
362 ipi_send(pc, ipi); in ipi_selected()
366 /* Send an IPI to a specific CPU. */
368 ipi_cpu(int cpu, u_int ipi) in ipi_cpu() argument
371 ipi_send(cpuid_to_pcpu[cpu], ipi); in ipi_cpu()
[all …]
H A Dintr_machdep.c100 int ipi; member
152 **cookiep, int domain, bool ipi);
255 i->ipi = 0; in intr_lookup()
461 /* Install an IPI handler. */ in powerpc_enable_intr()
470 error = powerpc_setup_intr_int("IPI", in powerpc_enable_intr()
476 printf("unable to setup IPI handler\n"); in powerpc_enable_intr()
520 int domain, bool ipi) in powerpc_setup_intr_int() argument
532 (ipi ? NULL : powerpc_intr_eoi), powerpc_assign_intr_cpu, in powerpc_setup_intr_int()
539 i->ipi = ipi; in powerpc_setup_intr_int()
546 if (strcmp(name, "IPI") != 0) { in powerpc_setup_intr_int()
[all …]
/freebsd/contrib/llvm-project/llvm/tools/llvm-pdbutil/
H A DStreamUtil.cpp71 auto Ipi = File.getPDBIpiStream(); in discoverStreamPurposes()
108 Streams[StreamIdx] = stream(StreamPurpose::IPI, "IPI Stream", StreamIdx); in discoverStreamPurposes()
124 else if (Ipi && StreamIdx == Ipi->getTypeHashStreamIndex()) in discoverStreamPurposes()
126 stream(StreamPurpose::IpiHash, "IPI Hash", StreamIdx); in discoverStreamPurposes()
127 else if (Ipi && StreamIdx == Ipi->getTypeHashStreamAuxIndex()) in discoverStreamPurposes()
129 stream(StreamPurpose::Other, "IPI Aux Hash", StreamIdx); in discoverStreamPurposes()
189 if (!Ipi) in discoverStreamPurposes()
72 auto Ipi = File.getPDBIpiStream(); discoverStreamPurposes() local
[all...]
/freebsd/sys/x86/xen/
H A Dxen_apic.c73 #define IPI_TO_IDX(ipi) ((ipi) - APIC_IPI_INTS) argument
182 panic("IPI out of range"); in xen_pv_lapic_ipi_vectored()
212 /*---------------------------- XEN PV IPI Handlers ---------------------------*/
303 /*----------------------------- XEN PV IPI setup -----------------------------*/
313 const struct xen_ipi_handler *ipi; in xen_cpu_ipi_init() local
318 for (ipi = xen_ipis, idx = 0; idx < nitems(xen_ipis); ipi++, idx++) { in xen_cpu_ipi_init()
319 if (ipi->filter == NULL) { in xen_cpu_ipi_init()
324 rc = xen_intr_alloc_and_bind_ipi(cpu, ipi->filter, in xen_cpu_ipi_init()
327 panic("Unable to allocate a XEN IPI port"); in xen_cpu_ipi_init()
328 xen_intr_describe(ipi_handle[idx], "%s", ipi->description); in xen_cpu_ipi_init()
[all …]
/freebsd/sys/netinet/
H A Din_pcb.h488 #define INP_INFO_WLOCK(ipi) mtx_lock(&(ipi)->ipi_lock) argument
489 #define INP_INFO_WLOCKED(ipi) mtx_owned(&(ipi)->ipi_lock) argument
490 #define INP_INFO_WUNLOCK(ipi) mtx_unlock(&(ipi)->ipi_lock) argument
491 #define INP_INFO_LOCK_ASSERT(ipi) MPASS(SMR_ENTERED((ipi)->ipi_smr) || \ argument
492 mtx_owned(&(ipi)->ipi_lock))
493 #define INP_INFO_WLOCK_ASSERT(ipi) mtx_assert(&(ipi)->ipi_lock, MA_OWNED) argument
494 #define INP_INFO_WUNLOCK_ASSERT(ipi) \ argument
495 mtx_assert(&(ipi)->ipi_lock, MA_NOTOWNED)
497 #define INP_HASH_WLOCK(ipi) mtx_lock(&(ipi)->ipi_hash_lock) argument
498 #define INP_HASH_WUNLOCK(ipi) mtx_unlock(&(ipi)->ipi_hash_lock) argument
[all …]
/freebsd/sys/arm/broadcom/bcm2835/
H A Dbcm2836.c161 #define BCM_LINTC_NIPIS 32 /* only mailbox 0 is used for IPI */
332 bcm_lintc_ipi_write(struct bcm_lintc_softc *sc, cpuset_t cpus, u_int ipi) in bcm_lintc_ipi_write() argument
337 mask = 1 << ipi; in bcm_lintc_ipi_write()
348 u_int ipi; in bcm_lintc_ipi_dispatch() local
353 device_printf(sc->bls_dev, "Spurious ipi detected\n"); in bcm_lintc_ipi_dispatch()
357 for (ipi = 0; mask != 0; mask >>= 1, ipi++) { in bcm_lintc_ipi_dispatch()
361 * Clear an IPI before dispatching to not miss anyone in bcm_lintc_ipi_dispatch()
364 bcm_lintc_write_4(sc, BCM_LINTC_MBOX0_CLR_REG(cpu), 1 << ipi); in bcm_lintc_ipi_dispatch()
370 intr_ipi_dispatch(ipi); in bcm_lintc_ipi_dispatch()
564 u_int ipi) in bcm_lintc_ipi_send() argument
[all …]
/freebsd/contrib/netbsd-tests/net/net/
H A Dt_pktinfo.c105 struct in_pktinfo *ipi; in receive() local
106 char control[CMSG_SPACE(sizeof(*ipi)) * 2]; in receive()
139 ipi = (void *)CMSG_DATA(cmsg); in receive()
142 m, inet_ntoa(ipi->ipi_addr), ipi->ipi_ifindex); in receive()
145 ATF_REQUIRE_MSG(ipi->ipi_addr.s_addr == htonl(INADDR_LOOPBACK), in receive()
146 "address 0x%x != 0x%x", ipi->ipi_addr.s_addr, in receive()
/freebsd/sys/kern/
H A Dsubr_intr.c38 * - to support IPI (PPI) enabling on other CPUs if already started.
202 * - mp_maxid + 1 counters for each IPI counters for SMP. in intr_irq_init()
522 * Setup interrupt counters, but not for IPI sources. Those are setup in intr_isrc_register()
1789 /* Virtualization for interrupt source IPI counter increment. */
1799 * Virtualization for interrupt source IPI counters setup.
1813 * reserved, the IPI counters will never be released. Similarly, we
1830 * Lookup IPI source.
1833 intr_ipi_lookup(u_int ipi) argument
1836 if (ipi >= INTR_IPI_COUNT)
1837 panic("%s: no such IPI %u", __func__, ipi);
[all …]
H A Dpic_if.m82 null_pic_ipi_send(device_t dev, cpuset_t cpus, u_int ipi)
87 dflt_pic_ipi_setup(device_t dev, u_int ipi, struct intr_irqsrc *isrc)
167 u_int ipi;
172 u_int ipi;
/freebsd/sys/arm64/apple/
H A Dapple_aic.c540 uint32_t ipi; in apple_aic_ipi_received() local
548 ipi = ffs(mask) - 1; in apple_aic_ipi_received()
549 mask &= ~(1 << ipi); in apple_aic_ipi_received()
551 intr_ipi_dispatch(ipi); in apple_aic_ipi_received()
570 /* If we get an IPI here, we really goofed. */ in apple_aic_irq()
618 * of IPI handling, so we have to probe around outside of AIC to in apple_aic_fiq()
675 u_int ipi) in apple_aic_ipi_send() argument
685 KASSERT(isrc == &sc->sc_ipi_srcs[ipi].ai_isrc, in apple_aic_ipi_send()
691 atomic_set_32(&sc->sc_ipimasks[cpu], 1 << ipi); in apple_aic_ipi_send()
695 * before we write to the ipi register to avoid the in apple_aic_ipi_send()
[all …]
/freebsd/sys/amd64/amd64/
H A Dapic_vector.S41 * as well as IPI handlers.
167 * IPI handler for cache and TLB shootdown
177 * Handler for IPIs sent via the per-cpu IPI bitmap.
217 * Executed by a CPU when it receives a RENDEZVOUS IPI from another CPU.
234 * IPI handler whose purpose is to interrupt the CPU with minimum overhead.
238 * This handler is different from other IPI handlers in the following aspects:
/freebsd/contrib/llvm-project/llvm/lib/DebugInfo/PDB/Native/
H A DPDBFileBuilder.cpp78 if (!Ipi) in getIpiBuilder()
79 Ipi = std::make_unique<TpiStreamBuilder>(*Msf, StreamIPI); in getIpiBuilder()
80 return *Ipi; in getIpiBuilder()
135 if (Ipi && Ipi->getRecordCount() > 0) { in finalizeMsfLayout()
171 if (Ipi) { in finalizeMsfLayout()
172 if (auto EC = Ipi->finalizeMsfLayout()) in finalizeMsfLayout()
325 if (Ipi) { in commit()
326 if (auto EC = Ipi->commit(Layout, Buffer)) in commit()
/freebsd/sys/arm/include/
H A Dsmp.h23 void ipi_all_but_self(u_int ipi);
24 void ipi_cpu(int cpu, u_int ipi);
25 void ipi_selected(cpuset_t cpus, u_int ipi);
/freebsd/sys/contrib/device-tree/Bindings/powerpc/fsl/
H A Dmpic.txt71 non-IPI interrupts to a single CPU at a time (EG: Freescale MPIC).
127 2 = MPIC inter-processor interrupt (IPI)
130 the MPIC IPI number. The type-specific
193 * MPIC IPI interrupts. Note the interrupt
196 ipi@410a0 {
197 compatible = "fsl,mpic-ipi";
/freebsd/sys/arm64/arm64/
H A Dmp_machdep.c852 /* Sending IPI */
854 ipi_all_but_self(u_int ipi) in ipi_all_but_self() argument
860 CTR2(KTR_SMP, "%s: ipi: %x", __func__, ipi); in ipi_all_but_self()
861 intr_ipi_send(cpus, ipi); in ipi_all_but_self()
865 ipi_cpu(int cpu, u_int ipi) in ipi_cpu() argument
872 CTR3(KTR_SMP, "%s: cpu: %d, ipi: %x", __func__, cpu, ipi); in ipi_cpu()
873 intr_ipi_send(cpus, ipi); in ipi_cpu()
877 ipi_selected(cpuset_t cpus, u_int ipi) in ipi_selected() argument
880 CTR2(KTR_SMP, "%s: ipi: %x", __func__, ipi); in ipi_selected()
881 intr_ipi_send(cpus, ipi); in ipi_selected()
/freebsd/sys/arm64/include/
H A Dsmp.h46 void ipi_all_but_self(u_int ipi);
47 void ipi_cpu(int cpu, u_int ipi);
48 void ipi_selected(cpuset_t cpus, u_int ipi);
/freebsd/sys/x86/include/
H A Dx86_smp.h76 /* IPI handlers */
99 void ipi_all_but_self(u_int ipi);
101 void ipi_cpu(int cpu, u_int ipi);
104 void ipi_selected(cpuset_t cpus, u_int ipi);

123456