Home
last modified time | relevance | path

Searched full:vpes (Results 1 – 17 of 17) sorted by relevance

/openbmc/linux/arch/arm64/kvm/vgic/
H A Dvgic-v4.c251 if (dist->its_vm.vpes) in vgic_v4_init()
256 dist->its_vm.vpes = kcalloc(nr_vcpus, sizeof(*dist->its_vm.vpes), in vgic_v4_init()
258 if (!dist->its_vm.vpes) in vgic_v4_init()
264 dist->its_vm.vpes[i] = &vcpu->arch.vgic_cpu.vgic_v3.its_vpe; in vgic_v4_init()
269 kfree(dist->its_vm.vpes); in vgic_v4_init()
271 dist->its_vm.vpes = NULL; in vgic_v4_init()
276 int irq = dist->its_vm.vpes[i]->irq; in vgic_v4_init()
297 * Trick: adjust the number of vpes so we know in vgic_v4_init()
322 if (!its_vm->vpes) in vgic_v4_teardown()
327 int irq = its_vm->vpes[i]->irq; in vgic_v4_teardown()
[all …]
H A Dvgic-v3.c360 free_irq(dist->its_vm.vpes[i]->irq, kvm_get_vcpu(kvm, i)); in unmap_all_vpes()
370 dist->its_vm.vpes[i]->irq)); in map_all_vpes()
H A Dvgic-mmio-v3.c563 * vPEs (which we don't support for obvious reasons). in vgic_mmio_write_invlpi()
/openbmc/linux/drivers/irqchip/
H A Dirq-gic-v4.c173 vm->vpes[i]->its_vm = vm; in its_alloc_vcpu_irqs()
174 vm->vpes[i]->idai = true; in its_alloc_vcpu_irqs()
184 vm->vpes[i]->irq = vpe_base_irq + i; in its_alloc_vcpu_irqs()
185 ret = its_alloc_vcpu_sgis(vm->vpes[i], i); in its_alloc_vcpu_irqs()
209 unsigned int irq = irq_find_mapping(vm->vpes[i]->sgi_domain, 0); in its_free_sgi_irqs()
215 irq_domain_remove(vm->vpes[i]->sgi_domain); in its_free_sgi_irqs()
216 irq_domain_free_fwnode(vm->vpes[i]->fwnode); in its_free_sgi_irqs()
223 irq_domain_free_irqs(vm->vpes[0]->irq, vm->nr_vpes); in its_free_vcpu_irqs()
H A Dirq-gic-v3-its.c174 struct its_vpe **vpes; member
1775 * (a) Either we have a GICv4.1, and all vPEs have to be mapped at all times
1779 * and we're better off mapping all VPEs always
1781 * If neither (a) nor (b) is true, then we map vPEs on demand.
1802 * If the VM wasn't mapped yet, iterate over the vpes and get in its_map_vm()
1811 struct its_vpe *vpe = vm->vpes[i]; in its_map_vm()
1839 its_send_vmapp(its, vm->vpes[i], false); in its_unmap_vm()
1874 /* Ensure all the VPEs are mapped on this ITS */ in its_vlpi_map()
3727 vpe_proxy.vpes[vpe->vpe_proxy_event] = NULL; in its_vpe_db_proxy_unmap_locked()
3734 * effect... Let's just hope VPEs don't migrate too often. in its_vpe_db_proxy_unmap_locked()
[all …]
H A Dirq-mips-cpu.c99 /* We can only send IPIs to VPEs within the local core */ in mips_mt_send_ipi()
/openbmc/linux/arch/mips/kernel/
H A Dpm-cps.c26 * @online: the count of online coupled VPEs
34 * returns the number of VPEs that were in the wait state at the point this
51 * Indicates the number of coupled VPEs ready to operate in a non-coherent
127 /* Calculate which coupled CPUs (VPEs) are online */ in cps_pm_enter_state()
180 * it needs to wake up any coupled VPEs still running their wait in cps_pm_enter_state()
182 * coordination between the coupled VPEs & provide the governor with in cps_pm_enter_state()
183 * a chance to reflect on the length of time the VPEs were in the in cps_pm_enter_state()
543 * At this point it is safe for all VPEs to proceed with in cps_gen_entry_code()
545 * to indicate to the other VPEs that they may continue. in cps_gen_entry_code()
552 * VPEs which did not disable coherence will continue in cps_gen_entry_code()
[all …]
H A Dcps-vec.S168 * Boot any other VPEs within this core that should be online, and
248 /* Retrieve the number of VPEs within the core */
313 /* Calculate this VPEs ID. If the core doesn't support MT use 0 */
328 /* Find the number of VPEs present in the core */
347 1: /* Calculate a pointer to this VPEs struct vpe_boot_config */
428 /* Calculate a pointer to the VPEs struct vpe_boot_config */
H A Dvpe-mt.c22 /* The number of TCs and VPEs physically available on the core */
339 pr_warn("No VPEs reserved for AP/SP, not initialize VPE loader\n" in vpe_module_init()
H A Dmips-mt-fpaff.c20 * CPU mask used to set process affinity for MT VPEs/TCs with FPUs
H A Dsmp-cps.c60 /* Use the number of VPEs in cluster 0 core 0 for smp_num_siblings */ in cps_smp_setup()
/openbmc/linux/Documentation/devicetree/bindings/interrupt-controller/
H A Dmti,gic.yaml14 The MIPS GIC routes external interrupts to individual VPEs and IRQ pins.
58 allocate the last (2 * number of VPEs in the system).
/openbmc/linux/arch/mips/include/asm/
H A Dmips_mt.h12 * How many VPEs and TCs is Linux allowed to use? 0 means no limit.
/openbmc/linux/include/linux/irqchip/
H A Darm-gic-v4.h23 struct its_vpe **vpes; member
/openbmc/qemu/target/mips/tcg/sysemu/
H A Dcp0_helper.c108 * FIXME: This code assumes that all VPEs have the same number of TCs,
528 /* TODO: Enable/disable shared TLB, enable/disable VPEs. */ in helper_mtc0_mvpcontrol()
1578 /* Turn off all VPEs except the one executing the dvpe. */ in helper_dvpe()
/openbmc/qemu/target/mips/
H A Dcpu-defs.c.inc1043 and shareable TLB entries, MVP has allocatable TCs, 2 VPEs
1047 // TODO: actually do 2 VPEs.
/openbmc/linux/arch/mips/
H A DKconfig2208 on cores with the MT ASE and uses the available VPEs to implement