/linux/arch/arm64/kvm/vgic/ |
H A D | vgic.h | 109 static inline bool irq_is_pending(struct vgic_irq *irq) in irq_is_pending() 117 static inline bool vgic_irq_is_mapped_level(struct vgic_irq *irq) in vgic_irq_is_mapped_level() 122 static inline int vgic_irq_get_lr_count(struct vgic_irq *irq) in vgic_irq_get_lr_count() 131 static inline bool vgic_irq_is_multi_sgi(struct vgic_irq *irq) in vgic_irq_is_multi_sgi() 182 struct vgic_irq *vgic_get_irq(struct kvm *kvm, struct kvm_vcpu *vcpu, 184 void vgic_put_irq(struct kvm *kvm, struct vgic_irq *irq); 185 bool vgic_get_phys_line_level(struct vgic_irq *irq); 186 void vgic_irq_set_phys_pending(struct vgic_irq *irq, bool pending); 187 void vgic_irq_set_phys_active(struct vgic_irq *irq, bool active); 188 bool vgic_queue_irq_unlock(struct kvm *kvm, struct vgic_irq *irq, [all …]
|
H A D | vgic.c | 66 static struct vgic_irq *vgic_get_lpi(struct kvm *kvm, u32 intid) in vgic_get_lpi() 69 struct vgic_irq *irq = NULL; in vgic_get_lpi() 87 struct vgic_irq *vgic_get_irq(struct kvm *kvm, struct kvm_vcpu *vcpu, in vgic_get_irq() 118 void vgic_put_irq(struct kvm *kvm, struct vgic_irq *irq) in vgic_put_irq() 139 struct vgic_irq *irq, *tmp; in vgic_flush_pending_lpis() 157 void vgic_irq_set_phys_pending(struct vgic_irq *irq, bool pending) in vgic_irq_set_phys_pending() 164 bool vgic_get_phys_line_level(struct vgic_irq *irq) in vgic_get_phys_line_level() 180 void vgic_irq_set_phys_active(struct vgic_irq *irq, bool active) in vgic_irq_set_phys_active() 200 static struct kvm_vcpu *vgic_target_oracle(struct vgic_irq *irq) in vgic_target_oracle() 246 struct vgic_irq *irqa = container_of(a, struct vgic_irq, ap_list); in vgic_irq_cmp() [all …]
|
H A D | vgic-mmio.c | 53 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, vcpu, intid + i); in vgic_mmio_read_group() 64 static void vgic_update_vsgi(struct vgic_irq *irq) in vgic_update_vsgi() 77 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, vcpu, intid + i); in vgic_mmio_write_group() 105 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, vcpu, intid + i); in vgic_mmio_read_enable() 125 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, vcpu, intid + i); in vgic_mmio_write_senable() 174 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, vcpu, intid + i); in vgic_mmio_write_cenable() 196 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, vcpu, intid + i); in vgic_uaccess_write_senable() 217 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, vcpu, intid + i); in vgic_uaccess_write_cenable() 239 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, vcpu, intid + i); in __read_pending() 298 static bool is_vgic_v2_sgi(struct kvm_vcpu *vcpu, struct vgic_irq *irq) in is_vgic_v2_sgi() [all …]
|
H A D | vgic-debug.c | 67 struct vgic_irq *irq; in iter_mark_lpis() 85 struct vgic_irq *irq; in iter_unmark_lpis() 198 static void print_header(struct seq_file *s, struct vgic_irq *irq, in print_header() 214 static void print_irq_state(struct seq_file *s, struct vgic_irq *irq, in print_irq_state() 271 struct vgic_irq *irq; in vgic_debug_show()
|
H A D | vgic-v4.c | 108 static void vgic_v4_sync_sgi_config(struct its_vpe *vpe, struct vgic_irq *irq) in vgic_v4_sync_sgi_config() 126 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, vcpu, i); in vgic_v4_enable_vsgis() 163 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, vcpu, i); in vgic_v4_disable_vsgis() 213 void vgic_v4_get_vlpi_state(struct vgic_irq *irq, bool *val) in vgic_v4_get_vlpi_state() 415 struct vgic_irq *irq; in kvm_vgic_v4_set_forwarding() 494 struct vgic_irq *irq; in kvm_vgic_v4_unset_forwarding()
|
H A D | vgic-mmio-v2.c | 146 struct vgic_irq *irq; in vgic_mmio_write_sgir() 170 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, vcpu, intid + i); in vgic_mmio_read_target() 194 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, NULL, intid + i); in vgic_mmio_write_target() 216 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, vcpu, intid + i); in vgic_mmio_read_sgipend() 234 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, vcpu, intid + i); in vgic_mmio_write_sgipendc() 256 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, vcpu, intid + i); in vgic_mmio_write_sgipends()
|
H A D | vgic-its.c | 31 static int update_lpi_config(struct kvm *kvm, struct vgic_irq *irq, 41 static struct vgic_irq *vgic_add_lpi(struct kvm *kvm, u32 intid, in vgic_add_lpi() 45 struct vgic_irq *irq = vgic_get_irq(kvm, NULL, intid), *oldirq; in vgic_add_lpi() 53 irq = kzalloc(sizeof(struct vgic_irq), GFP_KERNEL_ACCOUNT); in vgic_add_lpi() 147 struct vgic_irq *irq; 278 static int update_lpi_config(struct kvm *kvm, struct vgic_irq *irq, in update_lpi_config() 312 static int update_affinity(struct vgic_irq *irq, struct kvm_vcpu *vcpu) in update_affinity() 397 struct vgic_irq *irq; in its_sync_lpi_pending_table() 533 static struct vgic_irq *vgic_its_check_cache(struct kvm *kvm, phys_addr_t db, in vgic_its_check_cache() 538 struct vgic_irq *irq; in vgic_its_check_cache() [all …]
|
H A D | vgic-v3.c | 49 struct vgic_irq *irq; in vgic_v3_fold_lr_state() 107 void vgic_v3_populate_lr(struct kvm_vcpu *vcpu, struct vgic_irq *irq, int lr) in vgic_v3_populate_lr() 317 int vgic_v3_lpi_sync_pending_status(struct kvm *kvm, struct vgic_irq *irq) in vgic_v3_lpi_sync_pending_status() 392 struct vgic_irq *irq; in vgic_v3_save_pending_tables()
|
H A D | vgic-v2.c | 62 struct vgic_irq *irq; in vgic_v2_fold_lr_state() 122 void vgic_v2_populate_lr(struct kvm_vcpu *vcpu, struct vgic_irq *irq, int lr) in vgic_v2_populate_lr()
|
H A D | vgic-mmio-v3.c | 197 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, NULL, intid); in vgic_mmio_read_irouter() 216 struct vgic_irq *irq; in vgic_mmio_write_irouter() 532 struct vgic_irq *irq; in vgic_mmio_write_invlpi() 1023 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, vcpu, sgi); in vgic_v3_queue_sgi()
|
/linux/include/kvm/ |
H A D | arm_vgic.h | 118 struct vgic_irq { struct 161 static inline bool vgic_irq_needs_resampling(struct vgic_irq *irq) in vgic_irq_needs_resampling() argument 268 struct vgic_irq *spis; 334 struct vgic_irq *private_irqs;
|
/linux/tools/testing/selftests/kvm/ |
H A D | Makefile | 165 TEST_GEN_PROGS_aarch64 += aarch64/vgic_irq
|