/linux-master/tools/testing/selftests/kvm/include/aarch64/ |
H A D | gic.h | 20 #define INTID_IS_SGI(intid) (0 <= (intid) && (intid) < MIN_PPI) 21 #define INTID_IS_PPI(intid) (MIN_PPI <= (intid) && (intid) < MIN_SPI) 22 #define INTID_IS_SPI(intid) (MIN_SPI <= (intid) && (intid) <= MAX_SPI) 26 void gic_irq_enable(unsigned int intid); [all...] |
H A 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);
|
/linux-master/tools/testing/selftests/kvm/lib/aarch64/ |
H A 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, boo [all...] |
H A D | gic.c | 66 void gic_irq_enable(unsigned int intid) argument 69 gic_common_ops->gic_irq_enable(intid); 72 void gic_irq_disable(unsigned int intid) argument 75 gic_common_ops->gic_irq_disable(intid); 81 unsigned int intid; local 86 intid = irqstat & GENMASK(23, 0); 88 return intid; 91 void gic_set_eoi(unsigned int intid) argument 94 gic_common_ops->gic_write_eoir(intid); 97 void gic_set_dir(unsigned int intid) argument 115 gic_set_priority(unsigned int intid, unsigned int prio) argument 121 gic_irq_set_active(unsigned int intid) argument 127 gic_irq_clear_active(unsigned int intid) argument 133 gic_irq_get_active(unsigned int intid) argument 139 gic_irq_set_pending(unsigned int intid) argument 145 gic_irq_clear_pending(unsigned int intid) argument 151 gic_irq_get_pending(unsigned int intid) argument 157 gic_irq_set_config(unsigned int intid, bool is_edge) argument [all...] |
H A D | vgic.c | 83 int _kvm_irq_set_level_info(int gic_fd, uint32_t intid, int level) argument 85 uint64_t attr = 32 * (intid / 32); 86 uint64_t index = intid % 32; 101 void kvm_irq_set_level_info(int gic_fd, uint32_t intid, int level) argument 103 int ret = _kvm_irq_set_level_info(gic_fd, intid, level); 108 int _kvm_arm_irq_line(struct kvm_vm *vm, uint32_t intid, int level) argument 110 uint32_t irq = intid & KVM_ARM_IRQ_NUM_MASK; 112 TEST_ASSERT(!INTID_IS_SGI(intid), "KVM_IRQ_LINE's interface itself " 115 if (INTID_IS_PPI(intid)) 123 void kvm_arm_irq_line(struct kvm_vm *vm, uint32_t intid, in argument 130 vgic_poke_irq(int gic_fd, uint32_t intid, struct kvm_vcpu *vcpu, uint64_t reg_off) argument 162 kvm_irq_write_ispendr(int gic_fd, uint32_t intid, struct kvm_vcpu *vcpu) argument 167 kvm_irq_write_isactiver(int gic_fd, uint32_t intid, struct kvm_vcpu *vcpu) argument [all...] |
H A D | gic_v3.c | 62 static enum gicv3_intid_range get_intid_range(unsigned int intid) argument 64 switch (intid) { 153 static void gicv3_access_reg(uint32_t intid, uint64_t offset, argument 158 enum gicv3_intid_range intid_range = get_intid_range(intid); 171 index = intid % fields_per_reg; 175 /* Set offset to the actual register holding intid's config. */ 176 offset += (intid / fields_per_reg) * (reg_bits / 8); 185 static void gicv3_write_reg(uint32_t intid, uint64_t offset, argument 188 gicv3_access_reg(intid, offset, reg_bits, 192 static uint32_t gicv3_read_reg(uint32_t intid, uint64_ argument 202 gicv3_set_priority(uint32_t intid, uint32_t prio) argument 208 gicv3_irq_set_config(uint32_t intid, bool is_edge) argument 218 gicv3_irq_enable(uint32_t intid) argument 227 gicv3_irq_disable(uint32_t intid) argument 236 gicv3_irq_set_active(uint32_t intid) argument 241 gicv3_irq_clear_active(uint32_t intid) argument 246 gicv3_irq_get_active(uint32_t intid) argument 251 gicv3_irq_set_pending(uint32_t intid) argument 256 gicv3_irq_clear_pending(uint32_t intid) argument 261 gicv3_irq_get_pending(uint32_t intid) argument [all...] |
/linux-master/tools/testing/selftests/kvm/aarch64/ |
H A 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) \ 87 kvm_inject_call(cmd, intid, num, -1 /* not used */, expect_failure) 89 #define KVM_INJECT_MULTI(cmd, intid, num) \ 90 _KVM_INJECT_MULTI(cmd, intid, num, false) 92 #define _KVM_INJECT(cmd, intid, expect_failure) \ 93 _KVM_INJECT_MULTI(cmd, intid, 1, expect_failure) 95 #define KVM_INJECT(cmd, intid) \ 96 _KVM_INJECT_MULTI(cmd, intid, 1, false) 98 #define KVM_ACTIVATE(cmd, intid) \ 171 uint32_t intid = gic_get_and_ack_irq(); local 245 guest_set_irq_line(uint32_t intid, uint32_t level) argument 250 test_inject_fail(struct test_args *args, uint32_t intid, kvm_inject_cmd cmd) argument 304 uint32_t prio, intid, ap1r; local 353 uint32_t intid; local 372 uint32_t intid, prio, step = KVM_PRIO_STEPS; local 516 kvm_irq_line_check(struct kvm_vm *vm, uint32_t intid, int level, struct test_args *test_args, bool expect_failure) argument 535 kvm_irq_set_level_info_check(int gic_fd, uint32_t intid, int level, bool expect_failure) argument 559 kvm_set_gsi_routing_irqchip_check(struct kvm_vm *vm, uint32_t intid, uint32_t num, uint32_t kvm_max_routes, bool expect_failure) argument 589 kvm_irq_write_ispendr_check(int gic_fd, uint32_t intid, struct kvm_vcpu *vcpu, bool expect_failure) argument 604 kvm_routing_and_irqfd_check(struct kvm_vm *vm, uint32_t intid, uint32_t num, uint32_t kvm_max_routes, bool expect_failure) argument 666 uint32_t intid = inject_args->first_intid; local [all...] |
H A D | arch_timer.c | 59 static void guest_validate_irq(unsigned int intid, argument 68 if (intid == IAR_SPURIOUS) 98 GUEST_ASSERT_EQ(intid, timer_irq); 111 unsigned int intid = gic_get_and_ack_irq(); local 115 guest_validate_irq(intid, shared_data); 117 gic_set_eoi(intid);
|
/linux-master/arch/arm64/kvm/vgic/ |
H A D | vgic-mmio.c | 47 u32 intid = VGIC_ADDR_TO_INTID(addr, 1); local 53 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, vcpu, intid + i); 72 u32 intid = VGIC_ADDR_TO_INTID(addr, 1); local 77 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, vcpu, intid + i); 81 if (irq->hw && vgic_irq_is_sgi(irq->intid)) { 99 u32 intid = VGIC_ADDR_TO_INTID(addr, 1); local 105 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, vcpu, intid + i); 120 u32 intid = VGIC_ADDR_TO_INTID(addr, 1); local 125 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, vcpu, intid + i); 128 if (irq->hw && vgic_irq_is_sgi(irq->intid)) { 169 u32 intid = VGIC_ADDR_TO_INTID(addr, 1); local 191 u32 intid = VGIC_ADDR_TO_INTID(addr, 1); local 212 u32 intid = VGIC_ADDR_TO_INTID(addr, 1); local 233 u32 intid = VGIC_ADDR_TO_INTID(addr, 1); local 307 u32 intid = VGIC_ADDR_TO_INTID(addr, 1); local 393 u32 intid = VGIC_ADDR_TO_INTID(addr, 1); local 471 vgic_access_active_prepare(struct kvm_vcpu *vcpu, u32 intid) argument 480 vgic_access_active_finish(struct kvm_vcpu *vcpu, u32 intid) argument 491 u32 intid = VGIC_ADDR_TO_INTID(addr, 1); local 515 u32 intid = VGIC_ADDR_TO_INTID(addr, 1); local 597 u32 intid = VGIC_ADDR_TO_INTID(addr, 1); local 611 u32 intid = VGIC_ADDR_TO_INTID(addr, 1); local 634 u32 intid = VGIC_ADDR_TO_INTID(addr, 1); local 648 u32 intid = VGIC_ADDR_TO_INTID(addr, 1); local 670 u32 intid = VGIC_ADDR_TO_INTID(addr, 8); local 696 u32 intid = VGIC_ADDR_TO_INTID(addr, 8); local 717 u32 intid = VGIC_ADDR_TO_INTID(addr, 2); local 737 u32 intid = VGIC_ADDR_TO_INTID(addr, 2); local 766 vgic_read_irq_line_level_info(struct kvm_vcpu *vcpu, u32 intid) argument 788 vgic_write_irq_line_level_info(struct kvm_vcpu *vcpu, u32 intid, const u32 val) argument [all...] |
H A D | vgic-debug.c | 31 int intid; member in struct:vgic_state_iter 43 iter->intid++; 44 if (iter->intid == VGIC_NR_PRIVATE_IRQS && 46 iter->intid = 0; 48 if (iter->intid >= (iter->nr_spis + VGIC_NR_PRIVATE_IRQS)) { 50 iter->intid = iter->lpi_array[iter->lpi_idx]; 79 iter->intid >= (iter->nr_spis + VGIC_NR_PRIVATE_IRQS) && 183 if (irq->intid < VGIC_NR_SGIS) 185 else if (irq->intid < VGIC_NR_PRIVATE_IRQS) 187 else if (irq->intid < VGIC_MAX_SP [all...] |
H A D | vgic-mmio-v2.c | 125 int intid = val & 0xf; local 151 irq = vgic_get_irq(source_vcpu->kvm, vcpu, intid); 165 u32 intid = VGIC_ADDR_TO_INTID(addr, 8); local 170 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, vcpu, intid + i); 184 u32 intid = VGIC_ADDR_TO_INTID(addr, 8); local 190 if (intid < VGIC_NR_PRIVATE_IRQS) 194 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, NULL, intid + i); 211 u32 intid = addr & 0x0f; local 216 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, vcpu, intid + i); 229 u32 intid local 251 u32 intid = addr & 0x0f; local [all...] |
H A D | vgic.c | 62 static struct vgic_irq *vgic_get_lpi(struct kvm *kvm, u32 intid) argument 69 irq = xa_load(&dist->lpi_xa, intid); 84 u32 intid) 87 if (intid <= VGIC_MAX_PRIVATE) { 88 intid = array_index_nospec(intid, VGIC_MAX_PRIVATE + 1); 89 return &vcpu->arch.vgic_cpu.private_irqs[intid]; 93 if (intid < (kvm->arch.vgic.nr_spis + VGIC_NR_PRIVATE_IRQS)) { 94 intid = array_index_nospec(intid, kv 83 vgic_get_irq(struct kvm *kvm, struct kvm_vcpu *vcpu, u32 intid) argument 421 kvm_vgic_inject_irq(struct kvm *kvm, struct kvm_vcpu *vcpu, unsigned int intid, bool level, void *owner) argument 583 kvm_vgic_set_owner(struct kvm_vcpu *vcpu, unsigned int intid, void *owner) argument [all...] |
H A D | vgic-v3.c | 48 u32 intid, cpuid; local 57 intid = val & ICH_LR_VIRTUAL_ID_MASK; 59 intid = val & GICH_LR_VIRTUALID; 60 is_v2_sgi = vgic_irq_is_sgi(intid); 64 if (lr_signals_eoi_mi(val) && vgic_valid_spi(vcpu->kvm, intid)) 66 intid - VGIC_NR_PRIVATE_IRQS); 68 irq = vgic_get_irq(vcpu->kvm, vcpu, intid); 110 u64 val = irq->intid; 113 is_v2_sgi = (vgic_irq_is_sgi(irq->intid) && 155 if (vgic_irq_is_sgi(irq->intid) [all...] |
H A D | vgic-v2.c | 61 u32 cpuid, intid = val & GICH_LR_VIRTUALID; local 71 if (lr_signals_eoi_mi(val) && vgic_valid_spi(vcpu->kvm, intid)) 73 intid - VGIC_NR_PRIVATE_IRQS); 75 irq = vgic_get_irq(vcpu->kvm, vcpu, intid); 83 if (irq->active && vgic_irq_is_sgi(intid)) 91 if (vgic_irq_is_sgi(intid)) 124 u32 val = irq->intid; 129 if (vgic_irq_is_sgi(irq->intid)) 169 if (vgic_irq_is_sgi(irq->intid)) { 173 irq->intid)) [all...] |
H A D | vgic-v4.c | 110 vpe->sgi_config[irq->intid].enabled = irq->enabled; 111 vpe->sgi_config[irq->intid].group = irq->group; 112 vpe->sgi_config[irq->intid].priority = irq->priority; 216 int mask = BIT(irq->intid % BITS_PER_BYTE); 221 ptr = va + irq->intid / BITS_PER_BYTE; 452 .vintid = irq->intid,
|
H A D | vgic.h | 21 #define vgic_irq_is_sgi(intid) ((intid) < VGIC_NR_SGIS) 124 if (vgic_irq_is_sgi(irq->intid) && irq->source) 182 u32 intid); 227 if (irq->intid < VGIC_MIN_LPI) 272 u32 intid, u32 *val);
|
H A D | vgic-mmio.h | 210 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 D | vgic-mmio-v3.c | 196 int intid = VGIC_ADDR_TO_INTID(addr, 64); local 197 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, NULL, intid); 215 int intid = VGIC_ADDR_TO_INTID(addr, 64); local 223 irq = vgic_get_irq(vcpu->kvm, NULL, intid); 1118 u32 intid, u32 *val) 1120 if (intid % 32) 1124 vgic_write_irq_line_level_info(vcpu, intid, *val); 1126 *val = vgic_read_irq_line_level_info(vcpu, intid); 1117 vgic_v3_line_level_info_uaccess(struct kvm_vcpu *vcpu, bool is_write, u32 intid, u32 *val) argument
|
H A D | vgic-kvm-device.c | 566 unsigned int info, intid; local 571 intid = attr->attr & 574 intid, &val);
|
H A D | vgic-init.c | 161 irq->intid = i + VGIC_NR_PRIVATE_IRQS; 216 irq->intid = i;
|
/linux-master/tools/testing/selftests/kvm/riscv/ |
H A D | arch_timer.c | 23 unsigned int intid = regs->cause & ~CAUSE_IRQ_FLAG; local 34 GUEST_ASSERT_EQ(intid, timer_irq);
|
/linux-master/include/kvm/ |
H A D | arm_vgic.h | 134 u32 intid; /* Guest visible INTID */ member in struct:vgic_irq 380 unsigned int intid, bool level, void *owner); 423 int kvm_vgic_set_owner(struct kvm_vcpu *vcpu, unsigned int intid, void *owner);
|
/linux-master/drivers/net/can/cc770/ |
H A D | cc770.c | 98 static inline int intid2obj(unsigned int intid) argument 100 if (intid == 2) 103 return MSGOBJ_LAST + 2 - intid; 712 u8 intid; local 724 intid = cc770_read_reg(priv, interrupt); 725 if (!intid) 729 if (intid == 1) { 734 o = intid2obj(intid); 738 intid);
|
/linux-master/drivers/media/pci/saa7164/ |
H A D | saa7164-core.c | 610 u32 intid, intstat[INT_SIZE/4]; local 658 intid = (i * 32) + bit; 659 if (intid == dev->intfdesc.bInterruptId) { 662 } else if (intid == porta->hwcfg.interruptid) { 667 } else if (intid == portb->hwcfg.interruptid) { 672 } else if (intid == portc->hwcfg.interruptid) { 677 } else if (intid == portd->hwcfg.interruptid) { 682 } else if (intid == porte->hwcfg.interruptid) { 687 } else if (intid == portf->hwcfg.interruptid) { 695 "%s() unhandled interrupt reg 0x%x bit 0x%x intid [all...] |
/linux-master/drivers/mfd/ |
H A D | twl6040.c | 256 u8 intid; local 259 intid = twl6040_reg_read(twl6040, TWL6040_REG_INTID); 260 if (!(intid & TWL6040_READYINT)) {
|