/linux/kernel/irq/ |
H A D | ipi-mux.c | 3 * Multiplex several virtual IPIs over a single HW IPI. 118 * ipi_mux_process - Process multiplexed virtual IPIs 124 unsigned long ipis; in ipi_mux_process() local 135 * Clear the IPIs we are about to handle. This pairs with the in ipi_mux_process() 138 ipis = atomic_fetch_andnot(en, &icpu->bits) & en; in ipi_mux_process() 140 for_each_set_bit(hwirq, &ipis, BITS_PER_TYPE(int)) in ipi_mux_process() 145 * ipi_mux_create - Create virtual IPIs multiplexed on top of a single 147 * @nr_ipi: number of virtual IPIs to create. This should 151 * Returns first virq of the newly created virtual IPIs upon success
|
H A D | ipi.c | 110 * The IPIs allocated with irq_reserve_ipi() are returned to the system 159 * the hwirq it needs to use to receive and send IPIs. 234 * Minimise the overhead by omitting the checks for Linux SMP IPIs. in __ipi_send_single() 277 * Minimise the overhead by omitting the checks for Linux SMP IPIs. in __ipi_send_mask()
|
/linux/arch/riscv/kernel/ |
H A D | sbi-ipi.c | 3 * Multiplex several IPIs over a single HW IPI. 62 pr_err("unable to create muxed IPIs\n"); in sbi_ipi_init() 71 * the masking/unmasking of virtual IPIs is done in sbi_ipi_init() 79 pr_info("providing IPIs using SBI IPI extension\n"); in sbi_ipi_init() 83 * the extra context switch needed to handle IPIs. in sbi_ipi_init()
|
/linux/Documentation/devicetree/bindings/interrupt-controller/ |
H A D | apple,aic.yaml | 24 - 2 per-CPU IPIs (meant as "self" and "other", but they are interchangeable 34 IPIs may be performed via MMIO registers on all variants of AIC. Starting 35 from A11, system registers may also be used for "fast" IPIs. Starting from 36 M1, even faster IPIs within the same cluster may be achieved by writing to
|
H A D | mti,gic.yaml | 16 interrupts which can be used as IPIs. The GIC also includes a free-running 55 Specifies the range of GIC interrupts that are reserved for IPIs.
|
/linux/tools/testing/selftests/kvm/x86_64/ |
H A D | xapic_ipi_test.c |
|
/linux/arch/mips/include/asm/ |
H A D | smp.h | 112 * This function will set up the necessary IPIs for Linux to communicate 119 * This function will free up IPIs allocated with mips_smp_ipi_allocate to the 120 * CPUs in mask, which must be a subset of the IPIs that have been configured.
|
/linux/arch/powerpc/sysdev/xics/ |
H A D | xics-common.c | 132 * IPIs are marked IRQF_PERCPU. The handler was set in map. in xics_request_ipi() 140 /* Register all the IPIs */ in xics_smp_probe() 215 /* We need to get IPIs still. */ in xics_migrate_irqs_away() 256 * Allow IPIs again. This is done at the very end, after migrating all in xics_migrate_irqs_away() 338 /* Don't call into ICS for IPIs */ in xics_host_map()
|
/linux/tools/perf/util/ |
H A D | affinity.c | 2 /* Manage affinity to optimize IPIs inside the kernel perf API. */ 65 * In this case the IPIs inside the kernel's perf API still work. in affinity__set()
|
/linux/Documentation/virt/kvm/x86/ |
H A D | hypercalls.rst | 145 :Purpose: Send IPIs to multiple vCPUs. 152 The hypercall lets a guest send multicast IPIs, with at most 128 159 Returns the number of CPUs to which the IPIs were delivered successfully.
|
/linux/arch/powerpc/include/asm/ |
H A D | mpic.h | 351 * registers. Primary controllers have IPIs and affinity control. 457 * 10 for IPIs. You can call this on both IPIs and IRQ numbers, but the 474 /* Request IPIs on primary mpic */
|
H A D | smp.h | 151 /* Since OpenPIC has only 4 IPIs, we use slightly different message numbers. 171 /* for irq controllers that have dedicated ipis per message (4) */
|
/linux/Documentation/virt/kvm/ |
H A D | vcpu-requests.rst | 70 as well as to avoid sending unnecessary IPIs (see "IPI Reduction"), and 161 proceeding. This flag only applies to VCPUs that would receive IPIs. 195 IPIs will only trigger guest mode exits for VCPU threads that are in guest 244 Some requests, those with the KVM_REQUEST_WAIT flag set, require IPIs to
|
/linux/arch/loongarch/kernel/ |
H A D | machine_kexec.c | 110 * We know we were online, and there will be no incoming IPIs at in kexec_reboot() 148 /* We won't be sent IPIs any more. */ in kexec_shutdown_secondary() 178 /* We won't be sent IPIs any more. */ in crash_shutdown_secondary()
|
/linux/Documentation/virt/kvm/loongarch/ |
H A D | hypercalls.rst | 74 :Purpose: Send IPIs to multiple vCPUs. 81 The hypercall lets a guest send multiple IPIs (Inter-Process Interrupts) with
|
/linux/arch/sparc/kernel/ |
H A D | leon_smp.c | 59 /* IRQ number of LEON IPIs */ 269 /* Initialize IPIs on the LEON, in order to save IRQ resources only one IRQ 270 * is used for all three types of IPIs. 288 printk(KERN_INFO "leon: SMP IPIs at IRQ %d\n", leon_ipi_irq); in leon_ipi_init()
|
/linux/arch/arm64/include/asm/ |
H A D | cacheflush.h | 96 * turns out, KGDB uses IPIs to round-up the secondary CPUs during in flush_icache_range() 97 * the patching operation, so we don't need extra IPIs here anyway. in flush_icache_range()
|
/linux/arch/x86/kernel/ |
H A D | nmi_selftest.c | 5 * Testsuite for NMI: IPIs 28 /* check to see if NMI IPIs work on this machine */
|
/linux/arch/mips/kernel/ |
H A D | machine_kexec.c | 123 /* We won't be sent IPIs any more. */ in kexec_shutdown_secondary() 176 * We know we were online, and there will be no incoming IPIs at in kexec_reboot()
|
/linux/arch/arm64/include/asm/xen/ |
H A D | events.h | 11 /* Xen IPIs go here */
|
/linux/arch/arm/include/asm/xen/ |
H A D | events.h | 11 /* Xen IPIs go here */
|
/linux/drivers/irqchip/ |
H A D | irq-armada-370-xp.c | 168 * @doorbell_mask: doorbell mask of MSIs and IPIs, stored on suspend, restored on resume 469 /* Not freeing IPIs */ in mpic_ipi_free() 535 /* Disable all IPIs */ in mpic_smp_cpu_init() 538 /* Clear pending IPIs */ in mpic_smp_cpu_init() 769 /* Reconfigure doorbells for IPIs and MSIs */ in mpic_resume()
|
H A D | irq-mips-cpu.c | 19 * may be used for IPIs in multi-threaded single-core systems. 99 /* We can only send IPIs to VPEs within the local core */ in mips_mt_send_ipi()
|
/linux/arch/arm/mach-mmp/ |
H A D | platsmp.c | 17 * there. No IPIs involved. in mmp3_boot_secondary()
|
/linux/arch/parisc/include/asm/ |
H A D | kfence.h | 30 * We need to avoid IPIs, as we may get KFENCE allocations or faults in kfence_protect_page()
|