/virt/kvm/arm/vgic/ |
D | vgic-mmio.c | 45 u32 intid = VGIC_ADDR_TO_INTID(addr, 1); in vgic_mmio_read_group() local 51 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, vcpu, intid + i); in vgic_mmio_read_group() 65 u32 intid = VGIC_ADDR_TO_INTID(addr, 1); in vgic_mmio_write_group() local 70 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, vcpu, intid + i); in vgic_mmio_write_group() 87 u32 intid = VGIC_ADDR_TO_INTID(addr, 1); in vgic_mmio_read_enable() local 93 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, vcpu, intid + i); in vgic_mmio_read_enable() 108 u32 intid = VGIC_ADDR_TO_INTID(addr, 1); in vgic_mmio_write_senable() local 113 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, vcpu, intid + i); in vgic_mmio_write_senable() 143 u32 intid = VGIC_ADDR_TO_INTID(addr, 1); in vgic_mmio_write_cenable() local 148 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, vcpu, intid + i); in vgic_mmio_write_cenable() [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() 181 if (irq->intid < VGIC_NR_SGIS) in print_irq_state() 183 else if (irq->intid < VGIC_NR_PRIVATE_IRQS) in print_irq_state() 185 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() 188 irq->intid)) in vgic_v2_populate_lr()
|
D | vgic-mmio-v3.c | 132 int intid = VGIC_ADDR_TO_INTID(addr, 64); in vgic_mmio_read_irouter() local 133 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, NULL, intid); in vgic_mmio_read_irouter() 151 int intid = VGIC_ADDR_TO_INTID(addr, 64); in vgic_mmio_write_irouter() local 159 irq = vgic_get_irq(vcpu->kvm, NULL, intid); in vgic_mmio_write_irouter() 264 u32 intid = VGIC_ADDR_TO_INTID(addr, 1); in vgic_v3_uaccess_read_pending() local 276 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, vcpu, intid + i); in vgic_v3_uaccess_read_pending() 291 u32 intid = VGIC_ADDR_TO_INTID(addr, 1); in vgic_v3_uaccess_write_pending() local 296 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, vcpu, intid + i); in vgic_v3_uaccess_write_pending() 993 u32 intid, u64 *val) in vgic_v3_line_level_info_uaccess() argument 995 if (intid % 32) in vgic_v3_line_level_info_uaccess() [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.h | 196 u64 vgic_read_irq_line_level_info(struct kvm_vcpu *vcpu, u32 intid); 198 void vgic_write_irq_line_level_info(struct kvm_vcpu *vcpu, u32 intid,
|
D | vgic-kvm-device.c | 563 unsigned int info, intid; in vgic_v3_attr_regs_access() local 568 intid = attr->attr & in vgic_v3_attr_regs_access() 571 intid, reg); in vgic_v3_attr_regs_access()
|
D | vgic-init.c | 163 irq->intid = i + VGIC_NR_PRIVATE_IRQS; in kvm_vgic_dist_init() 217 irq->intid = i; in kvm_vgic_vcpu_init()
|
D | vgic-its.c | 39 static struct vgic_irq *vgic_add_lpi(struct kvm *kvm, u32 intid, in vgic_add_lpi() argument 43 struct vgic_irq *irq = vgic_get_irq(kvm, NULL, intid), *oldirq; in vgic_add_lpi() 61 irq->intid = intid; in vgic_add_lpi() 72 if (oldirq->intid != intid) in vgic_add_lpi() 288 ret = kvm_read_guest_lock(kvm, propbase + irq->intid - GIC_LPI_OFFSET, in update_lpi_config() 346 intids[i++] = irq->intid; in vgic_copy_lpi_list() 2143 ((u64)ite->irq->intid << KVM_ITS_ITE_PINTID_SHIFT) | in vgic_its_save_ite()
|
D | vgic-v4.c | 284 .vintid = irq->intid, in kvm_vgic_v4_set_forwarding()
|
/virt/kvm/arm/hyp/ |
D | vgic-v3-sr.c | 493 int intid, u64 *lr_val) in __vgic_v3_find_active_lr() argument 501 if ((val & ICH_LR_VIRTUAL_ID_MASK) == intid && in __vgic_v3_find_active_lr()
|