arm64: KVM: vgic: enable GICv2 emulation on top on GICv3 hardware
Add the last missing bits that enable GICv2 emulation on top of GICv3 hardware. Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
This commit is contained in:
parent
754d377260
commit
67b2abfedb
3 changed files with 10 additions and 0 deletions
|
@ -216,6 +216,13 @@ static inline void vgic_arch_setup(const struct vgic_params *vgic)
|
||||||
__vgic_sr_vectors.restore_vgic = __restore_vgic_v2_state;
|
__vgic_sr_vectors.restore_vgic = __restore_vgic_v2_state;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
#ifdef CONFIG_ARM_GIC_V3
|
||||||
|
case VGIC_V3:
|
||||||
|
__vgic_sr_vectors.save_vgic = __save_vgic_v3_state;
|
||||||
|
__vgic_sr_vectors.restore_vgic = __restore_vgic_v3_state;
|
||||||
|
break;
|
||||||
|
#endif
|
||||||
|
|
||||||
default:
|
default:
|
||||||
BUG();
|
BUG();
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,4 +22,6 @@ kvm-$(CONFIG_KVM_ARM_HOST) += guest.o reset.o sys_regs.o sys_regs_generic_v8.o
|
||||||
kvm-$(CONFIG_KVM_ARM_VGIC) += $(KVM)/arm/vgic.o
|
kvm-$(CONFIG_KVM_ARM_VGIC) += $(KVM)/arm/vgic.o
|
||||||
kvm-$(CONFIG_KVM_ARM_VGIC) += $(KVM)/arm/vgic-v2.o
|
kvm-$(CONFIG_KVM_ARM_VGIC) += $(KVM)/arm/vgic-v2.o
|
||||||
kvm-$(CONFIG_KVM_ARM_VGIC) += vgic-v2-switch.o
|
kvm-$(CONFIG_KVM_ARM_VGIC) += vgic-v2-switch.o
|
||||||
|
kvm-$(CONFIG_KVM_ARM_VGIC) += $(KVM)/arm/vgic-v3.o
|
||||||
|
kvm-$(CONFIG_KVM_ARM_VGIC) += vgic-v3-switch.o
|
||||||
kvm-$(CONFIG_KVM_ARM_TIMER) += $(KVM)/arm/arch_timer.o
|
kvm-$(CONFIG_KVM_ARM_TIMER) += $(KVM)/arm/arch_timer.o
|
||||||
|
|
|
@ -1530,6 +1530,7 @@ static struct notifier_block vgic_cpu_nb = {
|
||||||
|
|
||||||
static const struct of_device_id vgic_ids[] = {
|
static const struct of_device_id vgic_ids[] = {
|
||||||
{ .compatible = "arm,cortex-a15-gic", .data = vgic_v2_probe, },
|
{ .compatible = "arm,cortex-a15-gic", .data = vgic_v2_probe, },
|
||||||
|
{ .compatible = "arm,gic-v3", .data = vgic_v3_probe, },
|
||||||
{},
|
{},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue