diff options
author | Marc Zyngier <marc.zyngier@arm.com> | 2013-05-30 09:20:36 (GMT) |
---|---|---|
committer | Christoffer Dall <christoffer.dall@linaro.org> | 2014-07-11 11:57:31 (GMT) |
commit | eede821dbfd58df89edb072da64e006321eaef58 (patch) | |
tree | 704cb415f76f70f2c55f45800dbfe48a8fb75695 /include/kvm | |
parent | 63f8344cb4917e5219d07cfd6fcd50860bcf5360 (diff) | |
download | linux-eede821dbfd58df89edb072da64e006321eaef58.tar.xz |
KVM: arm/arm64: vgic: move GICv2 registers to their own structure
In order to make way for the GICv3 registers, move the v2-specific
registers to their own structure.
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Diffstat (limited to 'include/kvm')
-rw-r--r-- | include/kvm/arm_vgic.h | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/include/kvm/arm_vgic.h b/include/kvm/arm_vgic.h index f27000f..f738e5a 100644 --- a/include/kvm/arm_vgic.h +++ b/include/kvm/arm_vgic.h @@ -110,6 +110,16 @@ struct vgic_dist { #endif }; +struct vgic_v2_cpu_if { + u32 vgic_hcr; + u32 vgic_vmcr; + u32 vgic_misr; /* Saved only */ + u32 vgic_eisr[2]; /* Saved only */ + u32 vgic_elrsr[2]; /* Saved only */ + u32 vgic_apr; + u32 vgic_lr[VGIC_MAX_LRS]; +}; + struct vgic_cpu { #ifdef CONFIG_KVM_ARM_VGIC /* per IRQ to LR mapping */ @@ -126,13 +136,9 @@ struct vgic_cpu { int nr_lr; /* CPU vif control registers for world switch */ - u32 vgic_hcr; - u32 vgic_vmcr; - u32 vgic_misr; /* Saved only */ - u32 vgic_eisr[2]; /* Saved only */ - u32 vgic_elrsr[2]; /* Saved only */ - u32 vgic_apr; - u32 vgic_lr[VGIC_MAX_LRS]; + union { + struct vgic_v2_cpu_if vgic_v2; + }; #endif }; |