| /kernel/uniproton/src/arch/drv/gic/ |
| D | prt_gic_init.c | 24 U32 intId : 4; member 39 U64 intId : 4; // bit[24..27] SGI 中断号. member 67 OS_SEC_L4_TEXT void OsGicDisableInt(U32 intId) in OsGicDisableInt() argument 69 if (intId <= MAX_NNSPI_ID) { in OsGicDisableInt() 70 OsGicrDisableInt(PRT_GetCoreID(), intId); in OsGicDisableInt() 71 } else if (intId <= MAX_SPI_ID) { in OsGicDisableInt() 72 OsGicdDisableInt(intId); in OsGicDisableInt() 79 OS_SEC_L4_TEXT void OsGicEnableInt(U32 intId) in OsGicEnableInt() argument 81 if (intId <= MAX_NNSPI_ID) { in OsGicEnableInt() 82 OsGicrEnableInt(PRT_GetCoreID(), intId); in OsGicEnableInt() [all …]
|
| D | prt_gicd_init.c | 63 OS_SEC_TEXT enum GicIntState OsGicdGetIntState(U32 intId) in OsGicdGetIntState() argument 66 return OsGicGetReg(GICD_ISENABLER0_ADDR, GIC_IENABLE_INT_NUM, intId); in OsGicdGetIntState() 72 OS_SEC_TEXT void OsGicdEnableInt(U32 intId) in OsGicdEnableInt() argument 75 OsGicSetReg(GICD_ISENABLER0_ADDR, GIC_IENABLE_INT_NUM, intId, 1); in OsGicdEnableInt() 83 OS_SEC_TEXT void OsGicdDisableInt(U32 intId) in OsGicdDisableInt() argument 86 OsGicSetReg(GICD_ICENABLER0_ADDR, GIC_IENABLE_INT_NUM, intId, 1); in OsGicdDisableInt() 94 OS_SEC_L4_TEXT void OsGicdSetPriority(U32 intId, U32 priority) in OsGicdSetPriority() argument 97 …OsGicRmwReg(GICD_SGI_IPRIORITY_S_ADDR, GIC_IPRIORITY_INT_NUM, intId, priority << GIC_IPRIORITY_HIG… in OsGicdSetPriority() 103 OS_SEC_L4_TEXT U32 OsGicdGetPriority(U32 intId) in OsGicdGetPriority() argument 108 priority = OsGicGetReg(GICD_SGI_IPRIORITY_S_ADDR, GIC_IPRIORITY_INT_NUM, intId); in OsGicdGetPriority() [all …]
|
| D | prt_gicr_init.c | 52 OS_SEC_TEXT enum GicIntState OsGicrGetIntState(U32 coreId, U32 intId) in OsGicrGetIntState() argument 56 GIC_IENABLE_INT_NUM, intId); in OsGicrGetIntState() 62 OS_SEC_TEXT void OsGicrEnableInt(U32 coreId, U32 intId) in OsGicrEnableInt() argument 66 GIC_IENABLE_INT_NUM, intId, 1); in OsGicrEnableInt() 74 OS_SEC_TEXT void OsGicrDisableInt(U32 coreId, U32 intId) in OsGicrDisableInt() argument 78 GIC_IENABLE_INT_NUM, intId, 1); in OsGicrDisableInt() 86 OS_SEC_L4_TEXT void OsGicrSetPriority(U32 coreId, U32 intId, U32 priority) in OsGicrSetPriority() argument 90 GIC_IPRIORITY_INT_NUM, intId, priority << GIC_IPRIORITY_HIGH_BIT); in OsGicrSetPriority() 96 OS_SEC_L2_TEXT U32 OsGicrGetPriority(U32 coreId, U32 intId) in OsGicrGetPriority() argument 102 GIC_IPRIORITY_INT_NUM, intId); in OsGicrGetPriority()
|
| /kernel/linux/linux-6.6/tools/testing/selftests/kvm/lib/aarch64/ |
| D | gic.c | 66 void gic_irq_enable(unsigned int intid) in gic_irq_enable() argument 69 gic_common_ops->gic_irq_enable(intid); in gic_irq_enable() 72 void gic_irq_disable(unsigned int intid) in gic_irq_disable() argument 75 gic_common_ops->gic_irq_disable(intid); in gic_irq_disable() 81 unsigned int intid; in gic_get_and_ack_irq() local 86 intid = irqstat & GENMASK(23, 0); in gic_get_and_ack_irq() 88 return intid; in gic_get_and_ack_irq() 91 void gic_set_eoi(unsigned int intid) in gic_set_eoi() argument 94 gic_common_ops->gic_write_eoir(intid); in gic_set_eoi() 97 void gic_set_dir(unsigned int intid) in gic_set_dir() argument [all …]
|
| D | gic_v3.c | 62 static enum gicv3_intid_range get_intid_range(unsigned int intid) in get_intid_range() argument 64 switch (intid) { in get_intid_range() 153 static void gicv3_access_reg(uint32_t intid, uint64_t offset, in gicv3_access_reg() argument 158 enum gicv3_intid_range intid_range = get_intid_range(intid); in gicv3_access_reg() 171 index = intid % fields_per_reg; in gicv3_access_reg() 175 /* Set offset to the actual register holding intid's config. */ in gicv3_access_reg() 176 offset += (intid / fields_per_reg) * (reg_bits / 8); in gicv3_access_reg() 185 static void gicv3_write_reg(uint32_t intid, uint64_t offset, in gicv3_write_reg() argument 188 gicv3_access_reg(intid, offset, reg_bits, in gicv3_write_reg() 192 static uint32_t gicv3_read_reg(uint32_t intid, uint64_t offset, in gicv3_read_reg() argument [all …]
|
| D | vgic.c | 83 int _kvm_irq_set_level_info(int gic_fd, uint32_t intid, int level) in _kvm_irq_set_level_info() argument 85 uint64_t attr = 32 * (intid / 32); in _kvm_irq_set_level_info() 86 uint64_t index = intid % 32; in _kvm_irq_set_level_info() 101 void kvm_irq_set_level_info(int gic_fd, uint32_t intid, int level) in kvm_irq_set_level_info() argument 103 int ret = _kvm_irq_set_level_info(gic_fd, intid, level); in kvm_irq_set_level_info() 108 int _kvm_arm_irq_line(struct kvm_vm *vm, uint32_t intid, int level) in _kvm_arm_irq_line() argument 110 uint32_t irq = intid & KVM_ARM_IRQ_NUM_MASK; in _kvm_arm_irq_line() 112 TEST_ASSERT(!INTID_IS_SGI(intid), "KVM_IRQ_LINE's interface itself " in _kvm_arm_irq_line() 115 if (INTID_IS_PPI(intid)) in _kvm_arm_irq_line() 123 void kvm_arm_irq_line(struct kvm_vm *vm, uint32_t intid, int level) in kvm_arm_irq_line() argument [all …]
|
| D | gic_private.h | 13 void (*gic_irq_enable)(unsigned int intid); 14 void (*gic_irq_disable)(unsigned int intid); 20 void (*gic_set_priority)(uint32_t intid, uint32_t prio); 21 void (*gic_irq_set_active)(uint32_t intid); 22 void (*gic_irq_clear_active)(uint32_t intid); 23 bool (*gic_irq_get_active)(uint32_t intid); 24 void (*gic_irq_set_pending)(uint32_t intid); 25 void (*gic_irq_clear_pending)(uint32_t intid); 26 bool (*gic_irq_get_pending)(uint32_t intid); 27 void (*gic_irq_set_config)(uint32_t intid, bool is_edge);
|
| /kernel/linux/linux-6.6/tools/testing/selftests/kvm/include/aarch64/ |
| D | gic.h | 20 #define INTID_IS_SGI(intid) (0 <= (intid) && (intid) < MIN_PPI) argument 21 #define INTID_IS_PPI(intid) (MIN_PPI <= (intid) && (intid) < MIN_SPI) argument 22 #define INTID_IS_SPI(intid) (MIN_SPI <= (intid) && (intid) <= MAX_SPI) argument 26 void gic_irq_enable(unsigned int intid); 27 void gic_irq_disable(unsigned int intid); 29 void gic_set_eoi(unsigned int intid); 30 void gic_set_dir(unsigned int intid); 38 void gic_set_priority(uint32_t intid, uint32_t prio); 39 void gic_irq_set_active(unsigned int intid); 40 void gic_irq_clear_active(unsigned int intid); [all …]
|
| D | vgic.h | 24 void kvm_irq_set_level_info(int gic_fd, uint32_t intid, int level); 25 int _kvm_irq_set_level_info(int gic_fd, uint32_t intid, int level); 27 void kvm_arm_irq_line(struct kvm_vm *vm, uint32_t intid, int level); 28 int _kvm_arm_irq_line(struct kvm_vm *vm, uint32_t intid, int level); 31 void kvm_irq_write_ispendr(int gic_fd, uint32_t intid, struct kvm_vcpu *vcpu); 32 void kvm_irq_write_isactiver(int gic_fd, uint32_t intid, struct kvm_vcpu *vcpu);
|
| /kernel/linux/linux-6.6/tools/testing/selftests/kvm/aarch64/ |
| D | vgic_irq.c | 7 * host to inject a specific intid via a GUEST_SYNC call, and then checks that 86 #define _KVM_INJECT_MULTI(cmd, intid, num, expect_failure) \ argument 87 kvm_inject_call(cmd, intid, num, -1 /* not used */, expect_failure) 89 #define KVM_INJECT_MULTI(cmd, intid, num) \ argument 90 _KVM_INJECT_MULTI(cmd, intid, num, false) 92 #define _KVM_INJECT(cmd, intid, expect_failure) \ argument 93 _KVM_INJECT_MULTI(cmd, intid, 1, expect_failure) 95 #define KVM_INJECT(cmd, intid) \ argument 96 _KVM_INJECT_MULTI(cmd, intid, 1, false) 98 #define KVM_ACTIVATE(cmd, intid) \ argument [all …]
|
| /kernel/uniproton/src/arch/include/ |
| D | prt_gic_external.h | 79 OS_SEC_ALW_INLINE INLINE void OsGicRmwReg(uintptr_t base, U32 intNum, U32 intId, U32 val) in OsGicRmwReg() argument 90 regAddr = base + ((intId / intNum) * sizeof(U32)); in OsGicRmwReg() 91 offset = ((intId % intNum) * bitWidth); in OsGicRmwReg() 102 OS_SEC_ALW_INLINE INLINE void OsGicSetReg(uintptr_t base, U32 intNum, U32 intId, U32 val) in OsGicSetReg() argument 113 regAddr = base + ((intId / intNum) * sizeof(U32)); in OsGicSetReg() 114 offset = ((intId % intNum) * bitWidth); in OsGicSetReg() 151 extern void OsGicEnableInt(U32 intId); 152 extern void OsGicDisableInt(U32 intId); 153 extern void OsGicTrigIntToCores(U32 intId, U32 targetList); 154 extern void OsGicSetTargetId(U32 intId, U32 targetId); [all …]
|
| /kernel/uniproton/demos/raspi4/bsp/ |
| D | hwi_init.c | 92 U32 intId; in OsSicrInit() local 105 void OsSicrSetIntGroup(U32 coreId, U64 intId, enum SicGroupType groupId) in OsSicrSetIntGroup() argument 116 group0RegTmp &= ~(0x1U << intId); in OsSicrSetIntGroup() 118 group0RegTmp |= (0x1U << intId); in OsSicrSetIntGroup() 126 modRegTmp |= (0x1U << intId); in OsSicrSetIntGroup() 128 modRegTmp &= ~(0x1U << intId); in OsSicrSetIntGroup() 200 void OsSicdSetIntGroup(U32 intId, enum SicGroupType groupId) in OsSicdSetIntGroup() argument 209 sicdM = (intId - MIN_GIC_SPI_NUM) / SICD_IGROUP_INT_NUM; in OsSicdSetIntGroup() 212 bitOffset = (intId - MIN_GIC_SPI_NUM) % SICD_IGROUP_INT_NUM; in OsSicdSetIntGroup() 231 void OsSicSetGroup(U32 intId, enum SicGroupType groupId) in OsSicSetGroup() argument [all …]
|
| /kernel/uniproton/demos/hi3093/bsp/ |
| D | hwi_init.c | 92 U32 intId; in OsSicrInit() local 104 void OsSicrSetIntGroup(U32 coreId, U64 intId, enum SicGroupType groupId) in OsSicrSetIntGroup() argument 115 group0RegTmp &= ~(0x1U << intId); in OsSicrSetIntGroup() 117 group0RegTmp |= (0x1U << intId); in OsSicrSetIntGroup() 125 modRegTmp |= (0x1U << intId); in OsSicrSetIntGroup() 127 modRegTmp &= ~(0x1U << intId); in OsSicrSetIntGroup() 199 void OsSicdSetIntGroup(U32 intId, enum SicGroupType groupId) in OsSicdSetIntGroup() argument 208 sicdM = (intId - MIN_GIC_SPI_NUM) / SICD_IGROUP_INT_NUM; in OsSicdSetIntGroup() 211 bitOffset = (intId - MIN_GIC_SPI_NUM) % SICD_IGROUP_INT_NUM; in OsSicdSetIntGroup() 230 void OsSicSetGroup(U32 intId, enum SicGroupType groupId) in OsSicSetGroup() argument [all …]
|
| /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 …]
|
| /kernel/linux/linux-6.6/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 | 60 static struct vgic_irq *vgic_get_lpi(struct kvm *kvm, u32 intid) in vgic_get_lpi() argument 69 if (irq->intid != intid) in vgic_get_lpi() 93 u32 intid) in vgic_get_irq() argument 96 if (intid <= VGIC_MAX_PRIVATE) { in vgic_get_irq() 97 intid = array_index_nospec(intid, VGIC_MAX_PRIVATE + 1); in vgic_get_irq() 98 return &vcpu->arch.vgic_cpu.private_irqs[intid]; in vgic_get_irq() 102 if (intid < (kvm->arch.vgic.nr_spis + VGIC_NR_PRIVATE_IRQS)) { in vgic_get_irq() 103 intid = array_index_nospec(intid, kvm->arch.vgic.nr_spis + VGIC_NR_PRIVATE_IRQS); in vgic_get_irq() 104 return &kvm->arch.vgic.spis[intid - VGIC_NR_PRIVATE_IRQS]; in vgic_get_irq() 108 if (intid >= VGIC_MIN_LPI) in vgic_get_irq() [all …]
|
| D | vgic-mmio-v2.c | 125 int intid = val & 0xf; in vgic_mmio_write_sgir() local 151 irq = vgic_get_irq(source_vcpu->kvm, 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_irq(vcpu->kvm, 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, NULL, 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_irq(vcpu->kvm, vcpu, intid + i); in vgic_mmio_read_sgipend() 229 u32 intid = addr & 0x0f; in vgic_mmio_write_sgipendc() local [all …]
|
| D | vgic-v3.c | 48 u32 intid, cpuid; in vgic_v3_fold_lr_state() local 57 intid = val & ICH_LR_VIRTUAL_ID_MASK; in vgic_v3_fold_lr_state() 59 intid = val & GICH_LR_VIRTUALID; in vgic_v3_fold_lr_state() 60 is_v2_sgi = vgic_irq_is_sgi(intid); in vgic_v3_fold_lr_state() 64 if (lr_signals_eoi_mi(val) && vgic_valid_spi(vcpu->kvm, intid)) in vgic_v3_fold_lr_state() 66 intid - VGIC_NR_PRIVATE_IRQS); in vgic_v3_fold_lr_state() 68 irq = vgic_get_irq(vcpu->kvm, vcpu, intid); in vgic_v3_fold_lr_state() 110 u64 val = irq->intid; in vgic_v3_populate_lr() 113 is_v2_sgi = (vgic_irq_is_sgi(irq->intid) && in vgic_v3_populate_lr() 155 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 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_irq(vcpu->kvm, 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 …]
|