Home
last modified time | relevance | path

Searched refs:vgic (Results 1 – 25 of 26) sorted by relevance

12

/Linux-v5.4/arch/arm/kvm/
DMakefile13 ccflags-y += -I $(srctree)/$(src) -I $(srctree)/virt/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-v5.4/arch/arm64/kvm/
DMakefile6 ccflags-y += -I $(srctree)/$(src) -I $(srctree)/virt/kvm/arm/vgic
20 kvm-$(CONFIG_KVM_ARM_HOST) += vgic-sys-reg-v3.o fpsimd.o pmu.o
23 kvm-$(CONFIG_KVM_ARM_HOST) += $(KVM)/arm/vgic/vgic.o
24 kvm-$(CONFIG_KVM_ARM_HOST) += $(KVM)/arm/vgic/vgic-init.o
25 kvm-$(CONFIG_KVM_ARM_HOST) += $(KVM)/arm/vgic/vgic-irqfd.o
26 kvm-$(CONFIG_KVM_ARM_HOST) += $(KVM)/arm/vgic/vgic-v2.o
27 kvm-$(CONFIG_KVM_ARM_HOST) += $(KVM)/arm/vgic/vgic-v3.o
28 kvm-$(CONFIG_KVM_ARM_HOST) += $(KVM)/arm/vgic/vgic-v4.o
29 kvm-$(CONFIG_KVM_ARM_HOST) += $(KVM)/arm/vgic/vgic-mmio.o
30 kvm-$(CONFIG_KVM_ARM_HOST) += $(KVM)/arm/vgic/vgic-mmio-v2.o
[all …]
/Linux-v5.4/virt/kvm/arm/vgic/
Dvgic-init.c54 struct vgic_dist *dist = &kvm->arch.vgic; in kvm_vgic_early_init()
117 kvm->arch.vgic.in_kernel = true; in kvm_vgic_create()
118 kvm->arch.vgic.vgic_model = type; in kvm_vgic_create()
120 kvm->arch.vgic.vgic_dist_base = VGIC_ADDR_UNDEF; in kvm_vgic_create()
123 kvm->arch.vgic.vgic_cpu_base = VGIC_ADDR_UNDEF; in kvm_vgic_create()
125 INIT_LIST_HEAD(&kvm->arch.vgic.rd_regions); in kvm_vgic_create()
144 struct vgic_dist *dist = &kvm->arch.vgic; in kvm_vgic_dist_init()
198 struct vgic_dist *dist = &vcpu->kvm->arch.vgic; in kvm_vgic_vcpu_init()
265 struct vgic_dist *dist = &kvm->arch.vgic; in vgic_init()
331 struct vgic_dist *dist = &kvm->arch.vgic; in kvm_vgic_dist_destroy()
[all …]
Dvgic-debug.c63 iter->nr_spis = kvm->arch.vgic.nr_spis; in iter_init()
64 if (kvm->arch.vgic.vgic_model == KVM_DEV_TYPE_ARM_VGIC_V3) { in iter_init()
89 iter = kvm->arch.vgic.iter; in vgic_debug_start()
102 kvm->arch.vgic.iter = iter; in vgic_debug_start()
114 struct vgic_state_iter *iter = kvm->arch.vgic.iter; in vgic_debug_next()
136 iter = kvm->arch.vgic.iter; in vgic_debug_stop()
139 kvm->arch.vgic.iter = NULL; in vgic_debug_stop()
227 print_dist_state(s, &kvm->arch.vgic); in vgic_debug_show()
231 if (!kvm->arch.vgic.initialized) in vgic_debug_show()
Dvgic-kvm-device.c34 if (kvm->arch.vgic.vgic_model != type_needed) in vgic_check_type()
59 struct vgic_dist *vgic = &kvm->arch.vgic; in kvm_vgic_addr() local
67 addr_ptr = &vgic->vgic_dist_base; in kvm_vgic_addr()
72 addr_ptr = &vgic->vgic_cpu_base; in kvm_vgic_addr()
77 addr_ptr = &vgic->vgic_dist_base; in kvm_vgic_addr()
90 rdreg = list_first_entry(&vgic->rd_regions, in kvm_vgic_addr()
193 if (vgic_ready(dev->kvm) || dev->kvm->arch.vgic.nr_spis) in vgic_set_common_attr()
196 dev->kvm->arch.vgic.nr_spis = in vgic_set_common_attr()
240 r = put_user(dev->kvm->arch.vgic.nr_spis + in vgic_get_common_attr()
Dvgic-v3.c35 u32 model = vcpu->kvm->arch.vgic.vgic_model; in vgic_v3_fold_lr_state()
120 u32 model = vcpu->kvm->arch.vgic.vgic_model; in vgic_v3_populate_lr()
208 u32 model = vcpu->kvm->arch.vgic.vgic_model; in vgic_v3_set_vmcr()
238 u32 model = vcpu->kvm->arch.vgic.vgic_model; in vgic_v3_get_vmcr()
288 if (vcpu->kvm->arch.vgic.vgic_model == KVM_DEV_TYPE_ARM_VGIC_V3) { in vgic_v3_enable()
365 struct vgic_dist *dist = &kvm->arch.vgic; in vgic_v3_save_pending_tables()
422 struct vgic_dist *d = &kvm->arch.vgic; in vgic_v3_rdist_overlap()
439 struct vgic_dist *d = &kvm->arch.vgic; in vgic_v3_check_base()
485 struct list_head *rd_regions = &kvm->arch.vgic.rd_regions; in vgic_v3_rdist_region_from_index()
498 struct vgic_dist *dist = &kvm->arch.vgic; in vgic_v3_map_resources()
Dvgic-mmio-v2.c28 struct vgic_dist *vgic = &vcpu->kvm->arch.vgic; in vgic_mmio_read_v2_misc() local
33 value = vgic->enabled ? GICD_ENABLE : 0; in vgic_mmio_read_v2_misc()
36 value = vgic->nr_spis + VGIC_NR_PRIVATE_IRQS; in vgic_mmio_read_v2_misc()
42 (vgic->implementation_rev << GICD_IIDR_REVISION_SHIFT) | in vgic_mmio_read_v2_misc()
56 struct vgic_dist *dist = &vcpu->kvm->arch.vgic; in vgic_mmio_write_v2_misc()
90 vcpu->kvm->arch.vgic.v2_groups_user_writable = true; in vgic_mmio_uaccess_write_v2_misc()
102 if (vcpu->kvm->arch.vgic.v2_groups_user_writable) in vgic_mmio_uaccess_write_v2_group()
Dvgic-mmio-v3.c41 struct vgic_dist *dist = &kvm->arch.vgic; in vgic_has_its()
64 struct vgic_dist *vgic = &vcpu->kvm->arch.vgic; in vgic_mmio_read_v3_misc() local
69 if (vgic->enabled) in vgic_mmio_read_v3_misc()
74 value = vgic->nr_spis + VGIC_NR_PRIVATE_IRQS; in vgic_mmio_read_v3_misc()
85 (vgic->implementation_rev << GICD_IIDR_REVISION_SHIFT) | in vgic_mmio_read_v3_misc()
99 struct vgic_dist *dist = &vcpu->kvm->arch.vgic; in vgic_mmio_write_v3_misc()
387 struct vgic_dist *dist = &vcpu->kvm->arch.vgic; in vgic_mmio_read_propbase()
396 struct vgic_dist *dist = &vcpu->kvm->arch.vgic; in vgic_mmio_write_propbase()
608 struct vgic_dist *vgic = &kvm->arch.vgic; in vgic_register_redist_iodev() local
624 rdreg = vgic_v3_rdist_free_slot(&vgic->rd_regions); in vgic_register_redist_iodev()
[all …]
Dvgic.c60 struct vgic_dist *dist = &kvm->arch.vgic; in vgic_get_lpi()
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()
127 struct vgic_dist *dist = &kvm->arch.vgic; in __vgic_put_lpi_locked()
140 struct vgic_dist *dist = &kvm->arch.vgic; in vgic_put_irq()
231 !irq->target_vcpu->kvm->arch.vgic.enabled)) in vgic_target_oracle()
956 if (!vcpu->kvm->arch.vgic.enabled) in kvm_vgic_vcpu_pending_irq()
Dvgic-v4.c106 struct vgic_dist *dist = &kvm->arch.vgic; in vgic_v4_init()
175 struct its_vm *its_vm = &kvm->arch.vgic.its_vm; in vgic_v4_teardown()
282 .vm = &kvm->arch.vgic.its_vm, in kvm_vgic_v4_set_forwarding()
Dvgic-mmio.c217 vcpu->kvm->arch.vgic.vgic_model == KVM_DEV_TYPE_ARM_VGIC_V2); in is_vgic_v2_sgi()
345 u32 model = vcpu->kvm->arch.vgic.vgic_model; in vgic_mmio_change_active()
391 if (vcpu->kvm->arch.vgic.vgic_model == KVM_DEV_TYPE_ARM_VGIC_V3 || in vgic_change_active_prepare()
399 if (vcpu->kvm->arch.vgic.vgic_model == KVM_DEV_TYPE_ARM_VGIC_V3 || in vgic_change_active_finish()
579 int nr_irqs = vcpu->kvm->arch.vgic.nr_spis + VGIC_NR_PRIVATE_IRQS; in vgic_read_irq_line_level_info()
601 int nr_irqs = vcpu->kvm->arch.vgic.nr_spis + VGIC_NR_PRIVATE_IRQS; in vgic_write_irq_line_level_info()
731 int flags, nr_irqs = kvm->arch.vgic.nr_spis + VGIC_NR_PRIVATE_IRQS; in check_region()
894 struct vgic_io_device *io_device = &kvm->arch.vgic.dist_iodev; in vgic_register_dist_iodev()
Dtrace.h33 #define TRACE_INCLUDE_PATH ../../virt/kvm/arm/vgic
Dvgic-its.c42 struct vgic_dist *dist = &kvm->arch.vgic; in vgic_add_lpi()
276 u64 propbase = GICR_PROPBASER_ADDRESS(kvm->arch.vgic.propbaser); in update_lpi_config()
314 struct vgic_dist *dist = &kvm->arch.vgic; in vgic_copy_lpi_list()
572 struct vgic_dist *dist = &kvm->arch.vgic; in vgic_its_check_cache()
587 struct vgic_dist *dist = &kvm->arch.vgic; in vgic_its_cache_translation()
638 struct vgic_dist *dist = &kvm->arch.vgic; in vgic_its_invalidate_cache()
1064 lpi_nr >= max_lpis_propbaser(kvm->arch.vgic.propbaser)) in vgic_its_cmd_handle_mapi()
1829 struct vgic_dist *dist = &kvm->arch.vgic; in vgic_lpi_translation_cache_init()
1853 struct vgic_dist *dist = &kvm->arch.vgic; in vgic_lpi_translation_cache_destroy()
1905 dev->kvm->arch.vgic.msis_require_devid = true; in vgic_its_create()
[all …]
Dvgic-irqfd.c124 struct vgic_dist *dist = &kvm->arch.vgic; in kvm_vgic_setup_default_irq_routing()
Dvgic.h301 struct vgic_dist *d = &kvm->arch.vgic; in vgic_dist_overlap()
Dvgic-v2.c306 struct vgic_dist *dist = &kvm->arch.vgic; in vgic_v2_map_resources()
/Linux-v5.4/arch/arm64/kvm/hyp/
Dvgic-v2-cpuif-proxy.c38 struct vgic_dist *vgic = &kvm->arch.vgic; in __vgic_v2_perform_cpuif_access() local
48 if (fault_ipa < vgic->vgic_cpu_base || in __vgic_v2_perform_cpuif_access()
49 fault_ipa >= (vgic->vgic_cpu_base + KVM_VGIC_V2_CPU_SIZE)) in __vgic_v2_perform_cpuif_access()
66 addr += fault_ipa - vgic->vgic_cpu_base; in __vgic_v2_perform_cpuif_access()
DMakefile11 obj-$(CONFIG_KVM_ARM_HOST) += $(KVM)/arm/hyp/vgic-v3-sr.o
15 obj-$(CONFIG_KVM_ARM_HOST) += vgic-v2-cpuif-proxy.o
/Linux-v5.4/include/kvm/
Darm_vgic.h357 #define irqchip_in_kernel(k) (!!((k)->arch.vgic.in_kernel))
358 #define vgic_initialized(k) ((k)->arch.vgic.initialized)
359 #define vgic_ready(k) ((k)->arch.vgic.ready)
361 ((i) < (k)->arch.vgic.nr_spis + VGIC_NR_PRIVATE_IRQS))
/Linux-v5.4/arch/arm/kvm/hyp/
DMakefile12 obj-$(CONFIG_KVM_ARM_HOST) += $(KVM)/arm/hyp/vgic-v3-sr.o
/Linux-v5.4/Documentation/virt/kvm/devices/
Darm-vgic.txt14 device and guest ITS devices, see arm-vgic-v3.txt. It is not possible to
127 -ENOMEM: memory shortage when allocating vgic internal data
Darm-vgic-its.txt9 arm-vgic-v3.txt), but does not depend on having physical ITS controllers.
Darm-vgic-v3.txt212 -ENOMEM: memory shortage when allocating vgic internal data
/Linux-v5.4/arch/arm/include/asm/
Dkvm_host.h74 struct vgic_dist vgic; member
/Linux-v5.4/arch/arm64/include/asm/
Dkvm_host.h82 struct vgic_dist vgic; member

12