Home
last modified time | relevance | path

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

/linux-4.4.14/virt/kvm/arm/
Dvgic-v3.c52 if (vcpu->kvm->arch.vgic.vgic_model == KVM_DEV_TYPE_ARM_VGIC_V3) in vgic_v3_get_lr()
59 vcpu->kvm->arch.vgic.vgic_model == KVM_DEV_TYPE_ARM_VGIC_V2) in vgic_v3_get_lr()
91 switch (vcpu->kvm->arch.vgic.vgic_model) { in vgic_v3_set_lr()
199 if (vcpu->kvm->arch.vgic.vgic_model == KVM_DEV_TYPE_ARM_VGIC_V3) in vgic_v3_enable()
241 struct vgic_params *vgic = &vgic_v3_params; in vgic_v3_probe() local
243 vgic->maint_irq = irq_of_parse_and_map(vgic_node, 0); in vgic_v3_probe()
244 if (!vgic->maint_irq) { in vgic_v3_probe()
256 vgic->nr_lr = (ich_vtr_el2 & 0xf) + 1; in vgic_v3_probe()
257 vgic->can_emulate_gicv2 = false; in vgic_v3_probe()
265 vgic->vcpu_base = 0; in vgic_v3_probe()
[all …]
Dvgic-v2.c196 struct vgic_params *vgic = &vgic_v2_params; in vgic_v2_probe() local
198 vgic->maint_irq = irq_of_parse_and_map(vgic_node, 0); in vgic_v2_probe()
199 if (!vgic->maint_irq) { in vgic_v2_probe()
211 vgic->vctrl_base = of_iomap(vgic_node, 2); in vgic_v2_probe()
212 if (!vgic->vctrl_base) { in vgic_v2_probe()
218 vgic->nr_lr = readl_relaxed(vgic->vctrl_base + GICH_VTR); in vgic_v2_probe()
219 vgic->nr_lr = (vgic->nr_lr & 0x3f) + 1; in vgic_v2_probe()
221 ret = create_hyp_io_mappings(vgic->vctrl_base, in vgic_v2_probe()
222 vgic->vctrl_base + resource_size(&vctrl_res), in vgic_v2_probe()
250 vgic->can_emulate_gicv2 = true; in vgic_v2_probe()
[all …]
Dvgic.c117 static const struct vgic_params *vgic; variable
121 vcpu->kvm->arch.vgic.vm_ops.add_sgi_source(vcpu, irq, source); in add_sgi_source()
126 return vcpu->kvm->arch.vgic.vm_ops.queue_sgi(vcpu, irq); in queue_sgi()
131 return kvm->arch.vgic.vm_ops.map_resources(kvm, vgic); in kvm_vgic_map_resources()
276 struct vgic_dist *dist = &vcpu->kvm->arch.vgic; in vgic_irq_is_edge()
285 struct vgic_dist *dist = &vcpu->kvm->arch.vgic; in vgic_irq_is_enabled()
292 struct vgic_dist *dist = &vcpu->kvm->arch.vgic; in vgic_irq_is_queued()
299 struct vgic_dist *dist = &vcpu->kvm->arch.vgic; in vgic_irq_is_active()
306 struct vgic_dist *dist = &vcpu->kvm->arch.vgic; in vgic_irq_set_queued()
313 struct vgic_dist *dist = &vcpu->kvm->arch.vgic; in vgic_irq_clear_queued()
[all …]
Dvgic-v2-emul.c51 reg = vcpu->kvm->arch.vgic.enabled; in handle_mmio_misc()
55 vcpu->kvm->arch.vgic.enabled = reg & 1; in handle_mmio_misc()
63 reg |= (vcpu->kvm->arch.vgic.nr_irqs >> 5) - 1; in handle_mmio_misc()
130 u32 *reg = vgic_bytemap_get_reg(&vcpu->kvm->arch.vgic.irq_priority, in handle_mmio_priority_reg()
142 struct vgic_dist *dist = &kvm->arch.vgic; in vgic_get_target_reg()
156 struct vgic_dist *dist = &kvm->arch.vgic; in vgic_set_target_reg()
221 reg = vgic_bitmap_get_reg(&vcpu->kvm->arch.vgic.irq_cfg, in handle_mmio_cfg_reg()
248 struct vgic_dist *dist = &vcpu->kvm->arch.vgic; in read_set_clear_sgi_pend_reg()
270 struct vgic_dist *dist = &vcpu->kvm->arch.vgic; in write_set_clear_sgi_pend_reg()
410 struct vgic_dist *dist = &kvm->arch.vgic; in vgic_dispatch_sgi()
[all …]
Dvgic-v3-emul.c72 if (vcpu->kvm->arch.vgic.enabled) in handle_mmio_ctlr()
79 vcpu->kvm->arch.vgic.enabled = !!(reg & GICD_CTLR_ENABLE_SS_G1); in handle_mmio_ctlr()
98 reg = (min(vcpu->kvm->arch.vgic.nr_irqs, 1024) >> 5) - 1; in handle_mmio_typer()
212 reg = vgic_bytemap_get_reg(&vcpu->kvm->arch.vgic.irq_priority, in handle_mmio_priority_reg_dist()
231 reg = vgic_bitmap_get_reg(&vcpu->kvm->arch.vgic.irq_cfg, in handle_mmio_cfg_reg_dist()
279 struct vgic_dist *dist = &kvm->arch.vgic; in handle_mmio_route_reg()
635 reg = vgic_bytemap_get_reg(&vcpu->kvm->arch.vgic.irq_priority, in handle_mmio_priority_reg_redist()
648 u32 *reg = vgic_bitmap_get_reg(&vcpu->kvm->arch.vgic.irq_cfg, in handle_mmio_cfg_reg_redist()
770 struct vgic_dist *dist = &kvm->arch.vgic; in vgic_v3_map_resources()
845 struct vgic_dist *dist = &kvm->arch.vgic; in vgic_v3_init_model()
[all …]
/linux-4.4.14/arch/arm64/kvm/
DMakefile22 kvm-$(CONFIG_KVM_ARM_HOST) += $(KVM)/arm/vgic.o
23 kvm-$(CONFIG_KVM_ARM_HOST) += $(KVM)/arm/vgic-v2.o
24 kvm-$(CONFIG_KVM_ARM_HOST) += $(KVM)/arm/vgic-v2-emul.o
25 kvm-$(CONFIG_KVM_ARM_HOST) += vgic-v2-switch.o
26 kvm-$(CONFIG_KVM_ARM_HOST) += $(KVM)/arm/vgic-v3.o
27 kvm-$(CONFIG_KVM_ARM_HOST) += $(KVM)/arm/vgic-v3-emul.o
28 kvm-$(CONFIG_KVM_ARM_HOST) += vgic-v3-switch.o
/linux-4.4.14/arch/arm/kvm/
DMakefile23 obj-y += $(KVM)/arm/vgic.o
24 obj-y += $(KVM)/arm/vgic-v2.o
25 obj-y += $(KVM)/arm/vgic-v2-emul.o
/linux-4.4.14/include/kvm/
Darm_vgic.h350 #define irqchip_in_kernel(k) (!!((k)->arch.vgic.in_kernel))
351 #define vgic_initialized(k) (!!((k)->arch.vgic.nr_cpus))
352 #define vgic_ready(k) ((k)->arch.vgic.ready)
/linux-4.4.14/arch/arm/include/asm/
Dkvm_host.h69 struct vgic_dist vgic; member
/linux-4.4.14/arch/arm64/include/asm/
Dkvm_host.h65 struct vgic_dist vgic; member
/linux-4.4.14/arch/arm64/kernel/
Dasm-offsets.c153 DEFINE(KVM_VGIC_VCTRL, offsetof(struct kvm, arch.vgic.vctrl_base)); in main()
/linux-4.4.14/Documentation/virtual/kvm/devices/
Darm-vgic.txt118 -ENOMEM: memory shortage when allocating vgic internal data
/linux-4.4.14/arch/arm/kernel/
Dasm-offsets.c206 DEFINE(KVM_VGIC_VCTRL, offsetof(struct kvm, arch.vgic.vctrl_base)); in main()