Home
last modified time | relevance | path

Searched full:intid (Results 1 – 25 of 35) sorted by relevance

12

/linux/tools/testing/selftests/kvm/arm64/
H A Dvgic_irq.c7 * host to inject a specific intid via a GUEST_SYNC call, and then checks that
80 #define _KVM_INJECT_MULTI(cmd, intid, num, expect_failure) \ argument
81 kvm_inject_call(cmd, intid, num, -1 /* not used */, expect_failure)
83 #define KVM_INJECT_MULTI(cmd, intid, num) \ argument
84 _KVM_INJECT_MULTI(cmd, intid, num, false)
86 #define _KVM_INJECT(cmd, intid, expect_failure) \ argument
87 _KVM_INJECT_MULTI(cmd, intid, 1, expect_failure)
89 #define KVM_INJECT(cmd, intid) \ argument
90 _KVM_INJECT_MULTI(cmd, intid, 1, false)
92 #define KVM_ACTIVATE(cmd, intid) \ argument
[all …]
H A Darch_timer_edge_cases.c147 unsigned int intid = gic_get_and_ack_irq(); in guest_irq_handler() local
153 if (intid == IAR_SPURIOUS) { in guest_irq_handler()
158 if (intid == ptimer_irq) in guest_irq_handler()
160 else if (intid == vtimer_irq) in guest_irq_handler()
178 gic_set_eoi(intid); in guest_irq_handler()
/linux/arch/arm64/kvm/vgic/
H A Dvgic-mmio.c47 u32 intid = VGIC_ADDR_TO_INTID(addr, 1); in vgic_mmio_read_group() local
53 struct vgic_irq *irq = vgic_get_vcpu_irq(vcpu, intid + i); in vgic_mmio_read_group()
72 u32 intid = VGIC_ADDR_TO_INTID(addr, 1); in vgic_mmio_write_group() local
77 struct vgic_irq *irq = vgic_get_vcpu_irq(vcpu, intid + i); in vgic_mmio_write_group()
81 if (irq->hw && vgic_irq_is_sgi(irq->intid)) { in vgic_mmio_write_group()
99 u32 intid = VGIC_ADDR_TO_INTID(addr, 1); in vgic_mmio_read_enable() local
105 struct vgic_irq *irq = vgic_get_vcpu_irq(vcpu, intid + i); in vgic_mmio_read_enable()
120 u32 intid = VGIC_ADDR_TO_INTID(addr, 1); in vgic_mmio_write_senable() local
125 struct vgic_irq *irq = vgic_get_vcpu_irq(vcpu, intid + i); in vgic_mmio_write_senable()
128 if (irq->hw && vgic_irq_is_sgi(irq->intid)) { in vgic_mmio_write_senable()
[all …]
H A Dvgic.c66 static struct vgic_irq *vgic_get_lpi(struct kvm *kvm, u32 intid) in vgic_get_lpi() argument
73 irq = xa_load(&dist->lpi_xa, intid); in vgic_get_lpi()
87 struct vgic_irq *vgic_get_irq(struct kvm *kvm, u32 intid) in vgic_get_irq() argument
90 if (intid >= VGIC_NR_PRIVATE_IRQS && in vgic_get_irq()
91 intid < (kvm->arch.vgic.nr_spis + VGIC_NR_PRIVATE_IRQS)) { in vgic_get_irq()
92 intid = array_index_nospec(intid, kvm->arch.vgic.nr_spis + VGIC_NR_PRIVATE_IRQS); in vgic_get_irq()
93 return &kvm->arch.vgic.spis[intid - VGIC_NR_PRIVATE_IRQS]; in vgic_get_irq()
97 if (intid >= VGIC_MIN_LPI) in vgic_get_irq()
98 return vgic_get_lpi(kvm, intid); in vgic_get_irq()
103 struct vgic_irq *vgic_get_vcpu_irq(struct kvm_vcpu *vcpu, u32 intid) in vgic_get_vcpu_irq() argument
[all …]
H A Dvgic-mmio-v2.c125 int intid = val & 0xf; in vgic_mmio_write_sgir() local
151 irq = vgic_get_vcpu_irq(vcpu, intid); in vgic_mmio_write_sgir()
165 u32 intid = VGIC_ADDR_TO_INTID(addr, 8); in vgic_mmio_read_target() local
170 struct vgic_irq *irq = vgic_get_vcpu_irq(vcpu, intid + i); in vgic_mmio_read_target()
184 u32 intid = VGIC_ADDR_TO_INTID(addr, 8); in vgic_mmio_write_target() local
190 if (intid < VGIC_NR_PRIVATE_IRQS) in vgic_mmio_write_target()
194 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, intid + i); in vgic_mmio_write_target()
211 u32 intid = addr & 0x0f; in vgic_mmio_read_sgipend() local
216 struct vgic_irq *irq = vgic_get_vcpu_irq(vcpu, intid + i); in vgic_mmio_read_sgipend()
229 u32 intid = addr & 0x0f; in vgic_mmio_write_sgipendc() local
[all …]
H A Dvgic-v2.c61 u32 cpuid, intid = val & GICH_LR_VIRTUALID; in vgic_v2_fold_lr_state() local
71 if (lr_signals_eoi_mi(val) && vgic_valid_spi(vcpu->kvm, intid)) in vgic_v2_fold_lr_state()
73 intid - VGIC_NR_PRIVATE_IRQS); in vgic_v2_fold_lr_state()
75 irq = vgic_get_vcpu_irq(vcpu, intid); in vgic_v2_fold_lr_state()
83 if (irq->active && vgic_irq_is_sgi(intid)) in vgic_v2_fold_lr_state()
91 if (vgic_irq_is_sgi(intid)) in vgic_v2_fold_lr_state()
124 u32 val = irq->intid; in vgic_v2_populate_lr()
129 if (vgic_irq_is_sgi(irq->intid)) in vgic_v2_populate_lr()
169 if (vgic_irq_is_sgi(irq->intid)) { in vgic_v2_populate_lr()
172 if (WARN_RATELIMIT(!src, "No SGI source for INTID %d\n", in vgic_v2_populate_lr()
[all …]
H A Dvgic.h22 #define vgic_irq_is_sgi(intid) ((intid) < VGIC_NR_SGIS) argument
143 if (vgic_irq_is_sgi(irq->intid) && irq->source) in vgic_irq_get_lr_count()
230 struct vgic_irq *vgic_get_irq(struct kvm *kvm, u32 intid);
231 struct vgic_irq *vgic_get_vcpu_irq(struct kvm_vcpu *vcpu, u32 intid);
275 if (irq->intid < VGIC_MIN_LPI) in vgic_try_get_irq_kref()
320 u32 intid, u32 *val);
H A Dvgic-mmio-v3.c223 int intid = VGIC_ADDR_TO_INTID(addr, 64); in vgic_mmio_read_irouter() local
224 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, intid); in vgic_mmio_read_irouter()
242 int intid = VGIC_ADDR_TO_INTID(addr, 64); in vgic_mmio_write_irouter() local
250 irq = vgic_get_irq(vcpu->kvm, intid); in vgic_mmio_write_irouter()
560 u32 intid; in vgic_mmio_write_invlpi() local
572 intid = lower_32_bits(val); in vgic_mmio_write_invlpi()
573 if (intid < VGIC_MIN_LPI) in vgic_mmio_write_invlpi()
578 irq = vgic_get_irq(vcpu->kvm, intid); in vgic_mmio_write_invlpi()
1161 u32 intid, u32 *val) in vgic_v3_line_level_info_uaccess() argument
1163 if (intid % 32) in vgic_v3_line_level_info_uaccess()
[all …]
H A Dvgic-v4.c110 vpe->sgi_config[irq->intid].enabled = irq->enabled; in vgic_v4_sync_sgi_config()
111 vpe->sgi_config[irq->intid].group = irq->group; in vgic_v4_sync_sgi_config()
112 vpe->sgi_config[irq->intid].priority = irq->priority; in vgic_v4_sync_sgi_config()
216 int mask = BIT(irq->intid % BITS_PER_BYTE); in vgic_v4_get_vlpi_state()
221 ptr = va + irq->intid / BITS_PER_BYTE; in vgic_v4_get_vlpi_state()
475 .vintid = irq->intid, in kvm_vgic_v4_set_forwarding()
H A Dvgic-its.c76 static struct vgic_irq *vgic_add_lpi(struct kvm *kvm, u32 intid, in vgic_add_lpi() argument
80 struct vgic_irq *irq = vgic_get_irq(kvm, intid), *oldirq; in vgic_add_lpi()
92 ret = xa_reserve_irq(&dist->lpi_xa, intid, GFP_KERNEL_ACCOUNT); in vgic_add_lpi()
103 irq->intid = intid; in vgic_add_lpi()
113 oldirq = xa_load(&dist->lpi_xa, intid); in vgic_add_lpi()
122 ret = xa_err(__xa_store(&dist->lpi_xa, intid, irq, 0)); in vgic_add_lpi()
124 xa_release(&dist->lpi_xa, intid); in vgic_add_lpi()
291 ret = kvm_read_guest_lock(kvm, propbase + irq->intid - GIC_LPI_OFFSET, in update_lpi_config()
396 unsigned long intid, flags; in its_sync_lpi_pending_table() local
402 xa_for_each(&dist->lpi_xa, intid, irq) { in its_sync_lpi_pending_table()
[all …]
H A Dvgic-mmio.h210 u32 vgic_read_irq_line_level_info(struct kvm_vcpu *vcpu, u32 intid);
212 void vgic_write_irq_line_level_info(struct kvm_vcpu *vcpu, u32 intid,
H A Dvgic-kvm-device.c590 unsigned int info, intid; in vgic_v3_attr_regs_access() local
595 intid = attr->attr & in vgic_v3_attr_regs_access()
598 intid, &val); in vgic_v3_attr_regs_access()
H A Dvgic-init.c206 irq->intid = i + VGIC_NR_PRIVATE_IRQS; in kvm_vgic_dist_init()
230 /* Default GICv3 Maintenance Interrupt INTID, as per SBSA */
277 irq->intid = i; in vgic_allocate_private_irqs_locked()
/linux/include/kvm/
H A Darm_vgic.h137 u32 intid; /* Guest visible INTID */ member
146 u32 hwintid; /* HW INTID number */
391 unsigned int intid, bool level, void *owner);
437 int kvm_vgic_set_owner(struct kvm_vcpu *vcpu, unsigned int intid, void *owner);
/linux/drivers/net/can/cc770/
H A Dcc770.c98 static inline int intid2obj(unsigned int intid) in intid2obj() argument
100 if (intid == 2) in intid2obj()
103 return MSGOBJ_LAST + 2 - intid; in intid2obj()
712 u8 intid; in cc770_interrupt() local
724 intid = cc770_read_reg(priv, interrupt); in cc770_interrupt()
725 if (!intid) in cc770_interrupt()
729 if (intid == 1) { in cc770_interrupt()
734 o = intid2obj(intid); in cc770_interrupt()
738 intid); in cc770_interrupt()
/linux/Documentation/devicetree/bindings/interrupt-controller/
H A Darm,gic-v5.yaml46 The 1st cell corresponds to the INTID.Type field in the INTID; 1 for PPI,
50 The 2nd cell contains the interrupt INTID.ID field.
H A Darm,gic-v3.yaml122 A list of pairs <intid span>, where "intid" is the first SPI of a range
/linux/tools/testing/selftests/kvm/riscv/
H A Darch_timer.c21 unsigned int intid = regs->cause & ~CAUSE_IRQ_FLAG; in guest_irq_handler() local
32 GUEST_ASSERT_EQ(intid, timer_irq); in guest_irq_handler()
/linux/Documentation/virt/kvm/devices/
H A Dvcpu.rst183 in-kernel virtual GIC. These must be a PPI (16 <= intid < 32). Setting the
187 KVM_ARM_VCPU_TIMER_IRQ_VTIMER The EL1 virtual timer intid (default: 27)
188 KVM_ARM_VCPU_TIMER_IRQ_PTIMER The EL1 physical timer intid (default: 30)
189 KVM_ARM_VCPU_TIMER_IRQ_HVTIMER The EL2 virtual timer intid (default: 28)
190 KVM_ARM_VCPU_TIMER_IRQ_HPTIMER The EL2 physical timer intid (default: 26)
/linux/drivers/media/pci/saa7164/
H A Dsaa7164-core.c610 u32 intid, intstat[INT_SIZE/4]; in saa7164_irq() local
658 intid = (i * 32) + bit; in saa7164_irq()
659 if (intid == dev->intfdesc.bInterruptId) { in saa7164_irq()
662 } else if (intid == porta->hwcfg.interruptid) { in saa7164_irq()
667 } else if (intid == portb->hwcfg.interruptid) { in saa7164_irq()
672 } else if (intid == portc->hwcfg.interruptid) { in saa7164_irq()
677 } else if (intid == portd->hwcfg.interruptid) { in saa7164_irq()
682 } else if (intid == porte->hwcfg.interruptid) { in saa7164_irq()
687 } else if (intid == portf->hwcfg.interruptid) { in saa7164_irq()
695 "%s() unhandled interrupt reg 0x%x bit 0x%x intid = 0x%x\n", in saa7164_irq()
[all …]
/linux/drivers/net/ethernet/fungible/funcore/
H A Dfun_hci.h232 __be16 intid; member
268 .intid = cpu_to_be16(_intid), \
313 __be16 intid; member
342 .intid = cpu_to_be16(_intid), \
/linux/arch/arm64/include/asm/
H A Darch_gicv3.h54 * GIC-CPU interface could wrongly return a valid INTID to the CPU
/linux/include/linux/mfd/
H A Dtwl6040.h59 /* INTID (0x03) fields */
/linux/drivers/firmware/arm_ffa/
H A Ddriver.c1781 int ret, irq, intid; in ffa_irq_map() local
1790 /* The returned intid is assumed to be SGI donated to NS world */ in ffa_irq_map()
1791 ret = ffa_features(id, 0, &intid, NULL); in ffa_irq_map()
1809 oirq.args[0] = intid; in ffa_irq_map()
1814 irq = acpi_register_gsi(NULL, intid, ACPI_EDGE_SENSITIVE, in ffa_irq_map()
/linux/drivers/irqchip/
H A Dirq-csky-mpintc.c218 * INTCL_SIGR[3:0] INTID in csky_mpintc_send_ipi()

12