Home
last modified time | relevance | path

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

/linux-4.1.27/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()
87 if (vcpu->kvm->arch.vgic.vgic_model == KVM_DEV_TYPE_ARM_VGIC_V3) in vgic_v3_set_lr()
187 if (vcpu->kvm->arch.vgic.vgic_model == KVM_DEV_TYPE_ARM_VGIC_V3) in vgic_v3_enable()
230 struct vgic_params *vgic = &vgic_v3_params; in vgic_v3_probe() local
232 vgic->maint_irq = irq_of_parse_and_map(vgic_node, 0); in vgic_v3_probe()
233 if (!vgic->maint_irq) { in vgic_v3_probe()
245 vgic->nr_lr = (ich_vtr_el2 & 0xf) + 1; in vgic_v3_probe()
246 vgic->can_emulate_gicv2 = false; in vgic_v3_probe()
254 vgic->vcpu_base = 0; in vgic_v3_probe()
[all …]
Dvgic-v2.c186 struct vgic_params *vgic = &vgic_v2_params; in vgic_v2_probe() local
188 vgic->maint_irq = irq_of_parse_and_map(vgic_node, 0); in vgic_v2_probe()
189 if (!vgic->maint_irq) { in vgic_v2_probe()
201 vgic->vctrl_base = of_iomap(vgic_node, 2); in vgic_v2_probe()
202 if (!vgic->vctrl_base) { in vgic_v2_probe()
208 vgic->nr_lr = readl_relaxed(vgic->vctrl_base + GICH_VTR); in vgic_v2_probe()
209 vgic->nr_lr = (vgic->nr_lr & 0x3f) + 1; in vgic_v2_probe()
211 ret = create_hyp_io_mappings(vgic->vctrl_base, in vgic_v2_probe()
212 vgic->vctrl_base + resource_size(&vctrl_res), in vgic_v2_probe()
240 vgic->can_emulate_gicv2 = true; in vgic_v2_probe()
[all …]
Dvgic.c89 static const struct vgic_params *vgic; variable
93 vcpu->kvm->arch.vgic.vm_ops.add_sgi_source(vcpu, irq, source); in add_sgi_source()
98 return vcpu->kvm->arch.vgic.vm_ops.queue_sgi(vcpu, irq); in queue_sgi()
103 return kvm->arch.vgic.vm_ops.map_resources(kvm, vgic); in kvm_vgic_map_resources()
248 struct vgic_dist *dist = &vcpu->kvm->arch.vgic; in vgic_irq_is_edge()
257 struct vgic_dist *dist = &vcpu->kvm->arch.vgic; in vgic_irq_is_enabled()
264 struct vgic_dist *dist = &vcpu->kvm->arch.vgic; in vgic_irq_is_queued()
271 struct vgic_dist *dist = &vcpu->kvm->arch.vgic; in vgic_irq_is_active()
278 struct vgic_dist *dist = &vcpu->kvm->arch.vgic; in vgic_irq_set_queued()
285 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()
81 vcpu->kvm->arch.vgic.enabled = !!(reg & GICD_CTLR_ENABLE_SS_G1); in handle_mmio_ctlr()
100 reg = (min(vcpu->kvm->arch.vgic.nr_irqs, 1024) >> 5) - 1; in handle_mmio_typer()
188 reg = vgic_bytemap_get_reg(&vcpu->kvm->arch.vgic.irq_priority, in handle_mmio_priority_reg_dist()
207 reg = vgic_bitmap_get_reg(&vcpu->kvm->arch.vgic.irq_cfg, in handle_mmio_cfg_reg_dist()
255 struct vgic_dist *dist = &kvm->arch.vgic; in handle_mmio_route_reg()
591 reg = vgic_bytemap_get_reg(&vcpu->kvm->arch.vgic.irq_priority, in handle_mmio_priority_reg_redist()
604 u32 *reg = vgic_bitmap_get_reg(&vcpu->kvm->arch.vgic.irq_cfg, in handle_mmio_cfg_reg_redist()
726 struct vgic_dist *dist = &kvm->arch.vgic; in vgic_v3_map_resources()
801 struct vgic_dist *dist = &kvm->arch.vgic; in vgic_v3_init_model()
[all …]
/linux-4.1.27/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.1.27/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.1.27/arch/arm/include/asm/
Dkvm_host.h72 struct vgic_dist vgic; member
221 static inline void vgic_arch_setup(const struct vgic_params *vgic) in vgic_arch_setup() argument
223 BUG_ON(vgic->type != VGIC_V2); in vgic_arch_setup()
/linux-4.1.27/arch/arm64/include/asm/
Dkvm_host.h68 struct vgic_dist vgic; member
224 static inline void vgic_arch_setup(const struct vgic_params *vgic) in vgic_arch_setup() argument
228 switch(vgic->type) in vgic_arch_setup()
/linux-4.1.27/include/kvm/
Darm_vgic.h331 #define irqchip_in_kernel(k) (!!((k)->arch.vgic.in_kernel))
332 #define vgic_initialized(k) (!!((k)->arch.vgic.nr_cpus))
333 #define vgic_ready(k) ((k)->arch.vgic.ready)
/linux-4.1.27/arch/arm64/kernel/
Dasm-offsets.c149 DEFINE(KVM_VGIC_VCTRL, offsetof(struct kvm, arch.vgic.vctrl_base)); in main()
/linux-4.1.27/Documentation/virtual/kvm/devices/
Darm-vgic.txt116 -ENOMEM: memory shortage when allocating vgic internal data
/linux-4.1.27/arch/arm/kernel/
Dasm-offsets.c206 DEFINE(KVM_VGIC_VCTRL, offsetof(struct kvm, arch.vgic.vctrl_base)); in main()