| /kernel/linux/linux-5.10/arch/arm64/kvm/vgic/ |
| D | vgic-mmio.c | 47 u32 intid = VGIC_ADDR_TO_INTID(addr, 1); in vgic_mmio_read_group() local 53 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, 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_irq(vcpu->kvm, 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_irq(vcpu->kvm, 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_irq(vcpu->kvm, vcpu, intid + i); in vgic_mmio_write_senable() 128 if (irq->hw && vgic_irq_is_sgi(irq->intid)) { in vgic_mmio_write_senable() [all …]
|
| D | vgic-debug.c | 31 int intid; member 43 iter->intid++; in iter_next() 44 if (iter->intid == VGIC_NR_PRIVATE_IRQS && in iter_next() 46 iter->intid = 0; in iter_next() 48 if (iter->intid >= (iter->nr_spis + VGIC_NR_PRIVATE_IRQS)) { in iter_next() 50 iter->intid = iter->lpi_array[iter->lpi_idx]; in iter_next() 79 iter->intid >= (iter->nr_spis + VGIC_NR_PRIVATE_IRQS) && in end_of_vgic() 183 if (irq->intid < VGIC_NR_SGIS) in print_irq_state() 185 else if (irq->intid < VGIC_NR_PRIVATE_IRQS) in print_irq_state() 187 else if (irq->intid < VGIC_MAX_SPI) in print_irq_state() [all …]
|
| D | vgic.c | 58 static struct vgic_irq *vgic_get_lpi(struct kvm *kvm, u32 intid) in vgic_get_lpi() argument 67 if (irq->intid != intid) in vgic_get_lpi() 91 u32 intid) in vgic_get_irq() argument 94 if (intid <= VGIC_MAX_PRIVATE) { in vgic_get_irq() 95 intid = array_index_nospec(intid, VGIC_MAX_PRIVATE + 1); in vgic_get_irq() 96 return &vcpu->arch.vgic_cpu.private_irqs[intid]; in vgic_get_irq() 100 if (intid < (kvm->arch.vgic.nr_spis + VGIC_NR_PRIVATE_IRQS)) { in vgic_get_irq() 101 intid = array_index_nospec(intid, kvm->arch.vgic.nr_spis + VGIC_NR_PRIVATE_IRQS); in vgic_get_irq() 102 return &kvm->arch.vgic.spis[intid - VGIC_NR_PRIVATE_IRQS]; in vgic_get_irq() 106 if (intid >= VGIC_MIN_LPI) in vgic_get_irq() [all …]
|
| D | vgic-mmio-v2.c | 113 int intid = val & 0xf; in vgic_mmio_write_sgir() local 140 irq = vgic_get_irq(source_vcpu->kvm, vcpu, intid); in vgic_mmio_write_sgir() 154 u32 intid = VGIC_ADDR_TO_INTID(addr, 8); in vgic_mmio_read_target() local 159 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, vcpu, intid + i); in vgic_mmio_read_target() 173 u32 intid = VGIC_ADDR_TO_INTID(addr, 8); in vgic_mmio_write_target() local 179 if (intid < VGIC_NR_PRIVATE_IRQS) in vgic_mmio_write_target() 183 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, NULL, intid + i); in vgic_mmio_write_target() 200 u32 intid = addr & 0x0f; in vgic_mmio_read_sgipend() local 205 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, vcpu, intid + i); in vgic_mmio_read_sgipend() 218 u32 intid = addr & 0x0f; in vgic_mmio_write_sgipendc() local [all …]
|
| D | vgic-v3.c | 44 u32 intid, cpuid; in vgic_v3_fold_lr_state() local 52 intid = val & ICH_LR_VIRTUAL_ID_MASK; in vgic_v3_fold_lr_state() 54 intid = val & GICH_LR_VIRTUALID; in vgic_v3_fold_lr_state() 55 is_v2_sgi = vgic_irq_is_sgi(intid); in vgic_v3_fold_lr_state() 59 if (lr_signals_eoi_mi(val) && vgic_valid_spi(vcpu->kvm, intid)) in vgic_v3_fold_lr_state() 61 intid - VGIC_NR_PRIVATE_IRQS); in vgic_v3_fold_lr_state() 63 irq = vgic_get_irq(vcpu->kvm, vcpu, intid); in vgic_v3_fold_lr_state() 121 u64 val = irq->intid; in vgic_v3_populate_lr() 124 is_v2_sgi = (vgic_irq_is_sgi(irq->intid) && in vgic_v3_populate_lr() 166 if (vgic_irq_is_sgi(irq->intid) && in vgic_v3_populate_lr() [all …]
|
| D | vgic-v2.c | 61 u32 cpuid, intid = val & GICH_LR_VIRTUALID; in vgic_v2_fold_lr_state() local 70 if (lr_signals_eoi_mi(val) && vgic_valid_spi(vcpu->kvm, intid)) in vgic_v2_fold_lr_state() 72 intid - VGIC_NR_PRIVATE_IRQS); in vgic_v2_fold_lr_state() 74 irq = vgic_get_irq(vcpu->kvm, vcpu, intid); in vgic_v2_fold_lr_state() 81 if (irq->active && vgic_irq_is_sgi(intid)) in vgic_v2_fold_lr_state() 89 if (vgic_irq_is_sgi(intid)) in vgic_v2_fold_lr_state() 139 u32 val = irq->intid; in vgic_v2_populate_lr() 144 if (vgic_irq_is_sgi(irq->intid)) in vgic_v2_populate_lr() 184 if (vgic_irq_is_sgi(irq->intid)) { in vgic_v2_populate_lr() 187 if (WARN_RATELIMIT(!src, "No SGI source for INTID %d\n", in vgic_v2_populate_lr() [all …]
|
| D | vgic.h | 20 #define vgic_irq_is_sgi(intid) ((intid) < VGIC_NR_SGIS) argument 118 if (vgic_irq_is_sgi(irq->intid) && irq->source) in vgic_irq_get_lr_count() 163 u32 intid); 204 if (irq->intid < VGIC_MIN_LPI) in vgic_get_irq_kref() 245 u32 intid, u64 *val);
|
| D | vgic-mmio-v3.c | 182 int intid = VGIC_ADDR_TO_INTID(addr, 64); in vgic_mmio_read_irouter() local 183 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, NULL, intid); in vgic_mmio_read_irouter() 201 int intid = VGIC_ADDR_TO_INTID(addr, 64); in vgic_mmio_write_irouter() local 209 irq = vgic_get_irq(vcpu->kvm, NULL, intid); in vgic_mmio_write_irouter() 314 u32 intid = VGIC_ADDR_TO_INTID(addr, 1); in vgic_v3_uaccess_read_pending() local 326 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, vcpu, intid + i); in vgic_v3_uaccess_read_pending() 329 if (irq->hw && vgic_irq_is_sgi(irq->intid)) { in vgic_v3_uaccess_read_pending() 351 u32 intid = VGIC_ADDR_TO_INTID(addr, 1); in vgic_v3_uaccess_write_pending() local 356 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, vcpu, intid + i); in vgic_v3_uaccess_write_pending() 1070 u32 intid, u64 *val) in vgic_v3_line_level_info_uaccess() argument [all …]
|
| D | vgic-v4.c | 110 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() 406 .vintid = irq->intid, in kvm_vgic_v4_set_forwarding()
|
| /kernel/linux/linux-4.19/virt/kvm/arm/vgic/ |
| D | vgic-mmio.c | 53 u32 intid = VGIC_ADDR_TO_INTID(addr, 1); in vgic_mmio_read_group() local 59 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, vcpu, intid + i); in vgic_mmio_read_group() 73 u32 intid = VGIC_ADDR_TO_INTID(addr, 1); in vgic_mmio_write_group() local 78 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, vcpu, intid + i); in vgic_mmio_write_group() 95 u32 intid = VGIC_ADDR_TO_INTID(addr, 1); in vgic_mmio_read_enable() local 101 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, vcpu, intid + i); in vgic_mmio_read_enable() 116 u32 intid = VGIC_ADDR_TO_INTID(addr, 1); in vgic_mmio_write_senable() local 121 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, vcpu, intid + i); in vgic_mmio_write_senable() 135 u32 intid = VGIC_ADDR_TO_INTID(addr, 1); in vgic_mmio_write_cenable() local 140 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, vcpu, intid + i); in vgic_mmio_write_cenable() [all …]
|
| D | vgic-debug.c | 42 int intid; member 54 iter->intid++; in iter_next() 55 if (iter->intid == VGIC_NR_PRIVATE_IRQS && in iter_next() 57 iter->intid = 0; in iter_next() 59 if (iter->intid >= (iter->nr_spis + VGIC_NR_PRIVATE_IRQS)) { in iter_next() 61 iter->intid = iter->lpi_array[iter->lpi_idx]; in iter_next() 90 iter->intid >= (iter->nr_spis + VGIC_NR_PRIVATE_IRQS) && in end_of_vgic() 192 if (irq->intid < VGIC_NR_SGIS) in print_irq_state() 194 else if (irq->intid < VGIC_NR_PRIVATE_IRQS) in print_irq_state() 196 else if (irq->intid < VGIC_MAX_SPI) in print_irq_state() [all …]
|
| D | vgic.c | 69 static struct vgic_irq *vgic_get_lpi(struct kvm *kvm, u32 intid) in vgic_get_lpi() argument 78 if (irq->intid != intid) in vgic_get_lpi() 102 u32 intid) in vgic_get_irq() argument 105 if (intid <= VGIC_MAX_PRIVATE) { in vgic_get_irq() 106 intid = array_index_nospec(intid, VGIC_MAX_PRIVATE + 1); in vgic_get_irq() 107 return &vcpu->arch.vgic_cpu.private_irqs[intid]; in vgic_get_irq() 111 if (intid < (kvm->arch.vgic.nr_spis + VGIC_NR_PRIVATE_IRQS)) { in vgic_get_irq() 112 intid = array_index_nospec(intid, kvm->arch.vgic.nr_spis + VGIC_NR_PRIVATE_IRQS); in vgic_get_irq() 113 return &kvm->arch.vgic.spis[intid - VGIC_NR_PRIVATE_IRQS]; in vgic_get_irq() 117 if (intid >= VGIC_MIN_LPI) in vgic_get_irq() [all …]
|
| D | vgic-mmio-v2.c | 121 int intid = val & 0xf; in vgic_mmio_write_sgir() local 148 irq = vgic_get_irq(source_vcpu->kvm, vcpu, intid); in vgic_mmio_write_sgir() 162 u32 intid = VGIC_ADDR_TO_INTID(addr, 8); in vgic_mmio_read_target() local 167 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, vcpu, intid + i); in vgic_mmio_read_target() 181 u32 intid = VGIC_ADDR_TO_INTID(addr, 8); in vgic_mmio_write_target() local 187 if (intid < VGIC_NR_PRIVATE_IRQS) in vgic_mmio_write_target() 191 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, NULL, intid + i); in vgic_mmio_write_target() 208 u32 intid = addr & 0x0f; in vgic_mmio_read_sgipend() local 213 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, vcpu, intid + i); in vgic_mmio_read_sgipend() 226 u32 intid = addr & 0x0f; in vgic_mmio_write_sgipendc() local [all …]
|
| D | vgic-v3.c | 56 u32 intid, cpuid; in vgic_v3_fold_lr_state() local 64 intid = val & ICH_LR_VIRTUAL_ID_MASK; in vgic_v3_fold_lr_state() 66 intid = val & GICH_LR_VIRTUALID; in vgic_v3_fold_lr_state() 67 is_v2_sgi = vgic_irq_is_sgi(intid); in vgic_v3_fold_lr_state() 71 if (lr_signals_eoi_mi(val) && vgic_valid_spi(vcpu->kvm, intid)) in vgic_v3_fold_lr_state() 73 intid - VGIC_NR_PRIVATE_IRQS); in vgic_v3_fold_lr_state() 75 irq = vgic_get_irq(vcpu->kvm, vcpu, intid); in vgic_v3_fold_lr_state() 133 u64 val = irq->intid; in vgic_v3_populate_lr() 136 is_v2_sgi = (vgic_irq_is_sgi(irq->intid) && in vgic_v3_populate_lr() 178 if (vgic_irq_is_sgi(irq->intid) && in vgic_v3_populate_lr() [all …]
|
| D | vgic-v2.c | 72 u32 cpuid, intid = val & GICH_LR_VIRTUALID; in vgic_v2_fold_lr_state() local 81 if (lr_signals_eoi_mi(val) && vgic_valid_spi(vcpu->kvm, intid)) in vgic_v2_fold_lr_state() 83 intid - VGIC_NR_PRIVATE_IRQS); in vgic_v2_fold_lr_state() 85 irq = vgic_get_irq(vcpu->kvm, vcpu, intid); in vgic_v2_fold_lr_state() 92 if (irq->active && vgic_irq_is_sgi(intid)) in vgic_v2_fold_lr_state() 100 if (vgic_irq_is_sgi(intid)) in vgic_v2_fold_lr_state() 150 u32 val = irq->intid; in vgic_v2_populate_lr() 155 if (vgic_irq_is_sgi(irq->intid)) in vgic_v2_populate_lr() 195 if (vgic_irq_is_sgi(irq->intid)) { in vgic_v2_populate_lr() 198 if (WARN_RATELIMIT(!src, "No SGI source for INTID %d\n", in vgic_v2_populate_lr() [all …]
|
| D | vgic.h | 31 #define vgic_irq_is_sgi(intid) ((intid) < VGIC_NR_SGIS) argument 129 if (vgic_irq_is_sgi(irq->intid) && irq->source) in vgic_irq_get_lr_count() 174 u32 intid); 214 if (irq->intid < VGIC_MIN_LPI) in vgic_get_irq_kref() 254 u32 intid, u64 *val);
|
| D | vgic-mmio-v3.c | 140 int intid = VGIC_ADDR_TO_INTID(addr, 64); in vgic_mmio_read_irouter() local 141 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, NULL, intid); in vgic_mmio_read_irouter() 159 int intid = VGIC_ADDR_TO_INTID(addr, 64); in vgic_mmio_write_irouter() local 167 irq = vgic_get_irq(vcpu->kvm, NULL, intid); in vgic_mmio_write_irouter() 250 u32 intid = VGIC_ADDR_TO_INTID(addr, 1); in vgic_v3_uaccess_read_pending() local 262 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, vcpu, intid + i); in vgic_v3_uaccess_read_pending() 277 u32 intid = VGIC_ADDR_TO_INTID(addr, 1); in vgic_v3_uaccess_write_pending() local 282 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, vcpu, intid + i); in vgic_v3_uaccess_write_pending() 1013 u32 intid, u64 *val) in vgic_v3_line_level_info_uaccess() argument 1015 if (intid % 32) in vgic_v3_line_level_info_uaccess() [all …]
|
| /kernel/linux/linux-4.19/Documentation/virtual/kvm/devices/ |
| D | vcpu.txt | 51 in-kernel virtual GIC. These must be a PPI (16 <= intid < 32). Setting the 54 KVM_ARM_VCPU_TIMER_IRQ_VTIMER: The EL1 virtual timer intid (default: 27) 55 KVM_ARM_VCPU_TIMER_IRQ_PTIMER: The EL1 physical timer intid (default: 30)
|
| /kernel/linux/linux-5.10/include/kvm/ |
| D | arm_vgic.h | 108 u32 intid; /* Guest visible INTID */ member 117 u32 hwintid; /* HW INTID number */ 351 int kvm_vgic_inject_irq(struct kvm *kvm, int cpuid, unsigned int intid, 394 int kvm_vgic_set_owner(struct kvm_vcpu *vcpu, unsigned int intid, void *owner);
|
| /kernel/linux/linux-4.19/include/kvm/ |
| D | arm_vgic.h | 118 u32 intid; /* Guest visible INTID */ member 127 u32 hwintid; /* HW INTID number */ 353 int kvm_vgic_inject_irq(struct kvm *kvm, int cpuid, unsigned int intid, 398 int kvm_vgic_set_owner(struct kvm_vcpu *vcpu, unsigned int intid, void *owner);
|
| /kernel/linux/linux-5.10/drivers/net/can/cc770/ |
| D | cc770.c | 97 static inline int intid2obj(unsigned int intid) in intid2obj() argument 99 if (intid == 2) in intid2obj() 102 return MSGOBJ_LAST + 2 - intid; in intid2obj() 716 u8 intid; in cc770_interrupt() local 728 intid = cc770_read_reg(priv, interrupt); in cc770_interrupt() 729 if (!intid) in cc770_interrupt() 733 if (intid == 1) { in cc770_interrupt() 738 o = intid2obj(intid); in cc770_interrupt() 742 intid); in cc770_interrupt()
|
| /kernel/linux/linux-4.19/drivers/net/can/cc770/ |
| D | cc770.c | 105 static inline int intid2obj(unsigned int intid) in intid2obj() argument 107 if (intid == 2) in intid2obj() 110 return MSGOBJ_LAST + 2 - intid; in intid2obj() 724 u8 intid; in cc770_interrupt() local 736 intid = cc770_read_reg(priv, interrupt); in cc770_interrupt() 737 if (!intid) in cc770_interrupt() 741 if (intid == 1) { in cc770_interrupt() 746 o = intid2obj(intid); in cc770_interrupt() 750 intid); in cc770_interrupt()
|
| /kernel/linux/linux-5.10/Documentation/virt/kvm/devices/ |
| D | vcpu.rst | 127 in-kernel virtual GIC. These must be a PPI (16 <= intid < 32). Setting the 131 KVM_ARM_VCPU_TIMER_IRQ_VTIMER The EL1 virtual timer intid (default: 27) 132 KVM_ARM_VCPU_TIMER_IRQ_PTIMER The EL1 physical timer intid (default: 30)
|
| /kernel/linux/linux-4.19/drivers/media/pci/saa7164/ |
| D | saa7164-core.c | 624 u32 intid, intstat[INT_SIZE/4]; in saa7164_irq() local 672 intid = (i * 32) + bit; in saa7164_irq() 673 if (intid == dev->intfdesc.bInterruptId) { in saa7164_irq() 676 } else if (intid == porta->hwcfg.interruptid) { in saa7164_irq() 681 } else if (intid == portb->hwcfg.interruptid) { in saa7164_irq() 686 } else if (intid == portc->hwcfg.interruptid) { in saa7164_irq() 691 } else if (intid == portd->hwcfg.interruptid) { in saa7164_irq() 696 } else if (intid == porte->hwcfg.interruptid) { in saa7164_irq() 701 } else if (intid == portf->hwcfg.interruptid) { in saa7164_irq() 709 "%s() unhandled interrupt reg 0x%x bit 0x%x intid = 0x%x\n", in saa7164_irq() [all …]
|
| /kernel/linux/linux-5.10/drivers/media/pci/saa7164/ |
| D | saa7164-core.c | 612 u32 intid, intstat[INT_SIZE/4]; in saa7164_irq() local 660 intid = (i * 32) + bit; in saa7164_irq() 661 if (intid == dev->intfdesc.bInterruptId) { in saa7164_irq() 664 } else if (intid == porta->hwcfg.interruptid) { in saa7164_irq() 669 } else if (intid == portb->hwcfg.interruptid) { in saa7164_irq() 674 } else if (intid == portc->hwcfg.interruptid) { in saa7164_irq() 679 } else if (intid == portd->hwcfg.interruptid) { in saa7164_irq() 684 } else if (intid == porte->hwcfg.interruptid) { in saa7164_irq() 689 } else if (intid == portf->hwcfg.interruptid) { in saa7164_irq() 697 "%s() unhandled interrupt reg 0x%x bit 0x%x intid = 0x%x\n", in saa7164_irq() [all …]
|