/Linux-v4.19/arch/arm/kvm/ |
D | Makefile | 11 ccflags-y += -Iarch/arm/kvm -Ivirt/kvm/arm/vgic 25 obj-y += coproc.o coproc_a15.o coproc_a7.o vgic-v3-coproc.o 30 obj-y += $(KVM)/arm/vgic/vgic.o 31 obj-y += $(KVM)/arm/vgic/vgic-init.o 32 obj-y += $(KVM)/arm/vgic/vgic-irqfd.o 33 obj-y += $(KVM)/arm/vgic/vgic-v2.o 34 obj-y += $(KVM)/arm/vgic/vgic-v3.o 35 obj-y += $(KVM)/arm/vgic/vgic-v4.o 36 obj-y += $(KVM)/arm/vgic/vgic-mmio.o 37 obj-y += $(KVM)/arm/vgic/vgic-mmio-v2.o [all …]
|
/Linux-v4.19/arch/arm64/kvm/ |
D | Makefile | 6 ccflags-y += -Iarch/arm64/kvm -Ivirt/kvm/arm/vgic 22 kvm-$(CONFIG_KVM_ARM_HOST) += vgic-sys-reg-v3.o fpsimd.o 25 kvm-$(CONFIG_KVM_ARM_HOST) += $(KVM)/arm/vgic/vgic.o 26 kvm-$(CONFIG_KVM_ARM_HOST) += $(KVM)/arm/vgic/vgic-init.o 27 kvm-$(CONFIG_KVM_ARM_HOST) += $(KVM)/arm/vgic/vgic-irqfd.o 28 kvm-$(CONFIG_KVM_ARM_HOST) += $(KVM)/arm/vgic/vgic-v2.o 29 kvm-$(CONFIG_KVM_ARM_HOST) += $(KVM)/arm/vgic/vgic-v3.o 30 kvm-$(CONFIG_KVM_ARM_HOST) += $(KVM)/arm/vgic/vgic-v4.o 31 kvm-$(CONFIG_KVM_ARM_HOST) += $(KVM)/arm/vgic/vgic-mmio.o 32 kvm-$(CONFIG_KVM_ARM_HOST) += $(KVM)/arm/vgic/vgic-mmio-v2.o [all …]
|
/Linux-v4.19/virt/kvm/arm/vgic/ |
D | vgic-init.c | 64 struct vgic_dist *dist = &kvm->arch.vgic; in kvm_vgic_early_init() 126 kvm->arch.vgic.in_kernel = true; in kvm_vgic_create() 127 kvm->arch.vgic.vgic_model = type; in kvm_vgic_create() 129 kvm->arch.vgic.vgic_dist_base = VGIC_ADDR_UNDEF; in kvm_vgic_create() 132 kvm->arch.vgic.vgic_cpu_base = VGIC_ADDR_UNDEF; in kvm_vgic_create() 134 INIT_LIST_HEAD(&kvm->arch.vgic.rd_regions); in kvm_vgic_create() 153 struct vgic_dist *dist = &kvm->arch.vgic; in kvm_vgic_dist_init() 201 struct vgic_dist *dist = &vcpu->kvm->arch.vgic; in kvm_vgic_vcpu_init() 282 struct vgic_dist *dist = &kvm->arch.vgic; in vgic_init() 325 struct vgic_dist *dist = &kvm->arch.vgic; in kvm_vgic_dist_destroy() [all …]
|
D | vgic-debug.c | 74 iter->nr_spis = kvm->arch.vgic.nr_spis; in iter_init() 75 if (kvm->arch.vgic.vgic_model == KVM_DEV_TYPE_ARM_VGIC_V3) { in iter_init() 100 iter = kvm->arch.vgic.iter; in vgic_debug_start() 113 kvm->arch.vgic.iter = iter; in vgic_debug_start() 125 struct vgic_state_iter *iter = kvm->arch.vgic.iter; in vgic_debug_next() 147 iter = kvm->arch.vgic.iter; in vgic_debug_stop() 150 kvm->arch.vgic.iter = NULL; in vgic_debug_stop() 238 print_dist_state(s, &kvm->arch.vgic); in vgic_debug_show() 242 if (!kvm->arch.vgic.initialized) in vgic_debug_show()
|
D | vgic-v3.c | 47 u32 model = vcpu->kvm->arch.vgic.vgic_model; in vgic_v3_fold_lr_state() 132 u32 model = vcpu->kvm->arch.vgic.vgic_model; in vgic_v3_populate_lr() 217 u32 model = vcpu->kvm->arch.vgic.vgic_model; in vgic_v3_set_vmcr() 247 u32 model = vcpu->kvm->arch.vgic.vgic_model; in vgic_v3_get_vmcr() 297 if (vcpu->kvm->arch.vgic.vgic_model == KVM_DEV_TYPE_ARM_VGIC_V3) { in vgic_v3_enable() 374 struct vgic_dist *dist = &kvm->arch.vgic; in vgic_v3_save_pending_tables() 431 struct vgic_dist *d = &kvm->arch.vgic; in vgic_v3_rdist_overlap() 448 struct vgic_dist *d = &kvm->arch.vgic; in vgic_v3_check_base() 494 struct list_head *rd_regions = &kvm->arch.vgic.rd_regions; in vgic_v3_rdist_region_from_index() 507 struct vgic_dist *dist = &kvm->arch.vgic; in vgic_v3_map_resources()
|
D | vgic-kvm-device.c | 42 if (kvm->arch.vgic.vgic_model != type_needed) in vgic_check_type() 67 struct vgic_dist *vgic = &kvm->arch.vgic; in kvm_vgic_addr() local 75 addr_ptr = &vgic->vgic_dist_base; in kvm_vgic_addr() 80 addr_ptr = &vgic->vgic_cpu_base; in kvm_vgic_addr() 85 addr_ptr = &vgic->vgic_dist_base; in kvm_vgic_addr() 98 rdreg = list_first_entry(&vgic->rd_regions, in kvm_vgic_addr() 201 if (vgic_ready(dev->kvm) || dev->kvm->arch.vgic.nr_spis) in vgic_set_common_attr() 204 dev->kvm->arch.vgic.nr_spis = in vgic_set_common_attr() 248 r = put_user(dev->kvm->arch.vgic.nr_spis + in vgic_get_common_attr()
|
D | vgic-mmio-v2.c | 36 struct vgic_dist *vgic = &vcpu->kvm->arch.vgic; in vgic_mmio_read_v2_misc() local 41 value = vgic->enabled ? GICD_ENABLE : 0; in vgic_mmio_read_v2_misc() 44 value = vgic->nr_spis + VGIC_NR_PRIVATE_IRQS; in vgic_mmio_read_v2_misc() 50 (vgic->implementation_rev << GICD_IIDR_REVISION_SHIFT) | in vgic_mmio_read_v2_misc() 64 struct vgic_dist *dist = &vcpu->kvm->arch.vgic; in vgic_mmio_write_v2_misc() 98 vcpu->kvm->arch.vgic.v2_groups_user_writable = true; in vgic_mmio_uaccess_write_v2_misc() 110 if (vcpu->kvm->arch.vgic.v2_groups_user_writable) in vgic_mmio_uaccess_write_v2_group()
|
D | vgic-mmio-v3.c | 49 struct vgic_dist *dist = &kvm->arch.vgic; in vgic_has_its() 72 struct vgic_dist *vgic = &vcpu->kvm->arch.vgic; in vgic_mmio_read_v3_misc() local 77 if (vgic->enabled) in vgic_mmio_read_v3_misc() 82 value = vgic->nr_spis + VGIC_NR_PRIVATE_IRQS; in vgic_mmio_read_v3_misc() 93 (vgic->implementation_rev << GICD_IIDR_REVISION_SHIFT) | in vgic_mmio_read_v3_misc() 107 struct vgic_dist *dist = &vcpu->kvm->arch.vgic; in vgic_mmio_write_v3_misc() 392 struct vgic_dist *dist = &vcpu->kvm->arch.vgic; in vgic_mmio_read_propbase() 401 struct vgic_dist *dist = &vcpu->kvm->arch.vgic; in vgic_mmio_write_propbase() 614 struct vgic_dist *vgic = &kvm->arch.vgic; in vgic_register_redist_iodev() local 631 rdreg = vgic_v3_rdist_free_slot(&vgic->rd_regions); in vgic_register_redist_iodev() [all …]
|
D | vgic-v4.c | 117 struct vgic_dist *dist = &kvm->arch.vgic; in vgic_v4_init() 186 struct its_vm *its_vm = &kvm->arch.vgic.its_vm; in vgic_v4_teardown() 293 .vm = &kvm->arch.vgic.its_vm, in kvm_vgic_v4_set_forwarding()
|
D | vgic.c | 71 struct vgic_dist *dist = &kvm->arch.vgic; in vgic_get_lpi() 113 return &kvm->arch.vgic.spis[intid - VGIC_NR_PRIVATE_IRQS]; in vgic_get_irq() 135 struct vgic_dist *dist = &kvm->arch.vgic; in vgic_put_irq() 213 !irq->target_vcpu->kvm->arch.vgic.enabled)) in vgic_target_oracle() 912 if (!vcpu->kvm->arch.vgic.enabled) in kvm_vgic_vcpu_pending_irq()
|
D | trace.h | 33 #define TRACE_INCLUDE_PATH ../../../virt/kvm/arm/vgic
|
D | vgic-mmio.c | 340 u32 model = vcpu->kvm->arch.vgic.vgic_model; in vgic_mmio_change_active() 557 int nr_irqs = vcpu->kvm->arch.vgic.nr_spis + VGIC_NR_PRIVATE_IRQS; in vgic_read_irq_line_level_info() 579 int nr_irqs = vcpu->kvm->arch.vgic.nr_spis + VGIC_NR_PRIVATE_IRQS; in vgic_write_irq_line_level_info() 709 int flags, nr_irqs = kvm->arch.vgic.nr_spis + VGIC_NR_PRIVATE_IRQS; in check_region() 872 struct vgic_io_device *io_device = &kvm->arch.vgic.dist_iodev; in vgic_register_dist_iodev()
|
D | vgic-irqfd.c | 111 struct vgic_dist *dist = &kvm->arch.vgic; in kvm_vgic_setup_default_irq_routing()
|
D | vgic-its.c | 53 struct vgic_dist *dist = &kvm->arch.vgic; in vgic_add_lpi() 286 u64 propbase = GICR_PROPBASER_ADDRESS(kvm->arch.vgic.propbaser); in update_lpi_config() 324 struct vgic_dist *dist = &kvm->arch.vgic; in vgic_copy_lpi_list() 921 lpi_nr >= max_lpis_propbaser(kvm->arch.vgic.propbaser)) in vgic_its_cmd_handle_mapi() 1718 dev->kvm->arch.vgic.msis_require_devid = true; in vgic_its_create() 1719 dev->kvm->arch.vgic.has_its = true; in vgic_its_create() 1727 dev->kvm->arch.vgic.propbaser = INITIAL_PROPBASER_VALUE; in vgic_its_create()
|
D | vgic.h | 308 struct vgic_dist *d = &kvm->arch.vgic; in vgic_dist_overlap()
|
D | vgic-v2.c | 314 struct vgic_dist *dist = &kvm->arch.vgic; in vgic_v2_map_resources()
|
/Linux-v4.19/arch/arm64/kvm/hyp/ |
D | vgic-v2-cpuif-proxy.c | 49 struct vgic_dist *vgic = &kvm->arch.vgic; in __vgic_v2_perform_cpuif_access() local 59 if (fault_ipa < vgic->vgic_cpu_base || in __vgic_v2_perform_cpuif_access() 60 fault_ipa >= (vgic->vgic_cpu_base + KVM_VGIC_V2_CPU_SIZE)) in __vgic_v2_perform_cpuif_access() 73 addr += fault_ipa - vgic->vgic_cpu_base; in __vgic_v2_perform_cpuif_access()
|
D | Makefile | 11 obj-$(CONFIG_KVM_ARM_HOST) += $(KVM)/arm/hyp/vgic-v3-sr.o 14 obj-$(CONFIG_KVM_ARM_HOST) += vgic-v2-cpuif-proxy.o
|
/Linux-v4.19/include/kvm/ |
D | arm_vgic.h | 365 #define irqchip_in_kernel(k) (!!((k)->arch.vgic.in_kernel)) 366 #define vgic_initialized(k) ((k)->arch.vgic.initialized) 367 #define vgic_ready(k) ((k)->arch.vgic.ready) 369 ((i) < (k)->arch.vgic.nr_spis + VGIC_NR_PRIVATE_IRQS))
|
/Linux-v4.19/arch/arm/kvm/hyp/ |
D | Makefile | 12 obj-$(CONFIG_KVM_ARM_HOST) += $(KVM)/arm/hyp/vgic-v3-sr.o
|
/Linux-v4.19/Documentation/virtual/kvm/devices/ |
D | arm-vgic.txt | 14 device and guest ITS devices, see arm-vgic-v3.txt. It is not possible to 127 -ENOMEM: memory shortage when allocating vgic internal data
|
D | arm-vgic-its.txt | 9 arm-vgic-v3.txt), but does not depend on having physical ITS controllers.
|
D | arm-vgic-v3.txt | 212 -ENOMEM: memory shortage when allocating vgic internal data
|
/Linux-v4.19/arch/arm/include/asm/ |
D | kvm_host.h | 79 struct vgic_dist vgic; member
|
/Linux-v4.19/arch/arm64/include/asm/ |
D | kvm_host.h | 77 struct vgic_dist vgic; member
|