The bitmap fields are completely useless. Simplify the structure so it looks a bit saner. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> --- arch/arm/include/asm/kvm_vgic.h | 10 ++-------- arch/arm/kvm/vgic.c | 4 ++-- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/arch/arm/include/asm/kvm_vgic.h b/arch/arm/include/asm/kvm_vgic.h index c222b49..69425d7 100644 --- a/arch/arm/include/asm/kvm_vgic.h +++ b/arch/arm/include/asm/kvm_vgic.h @@ -60,14 +60,8 @@ struct vgic_bitmap { }; struct vgic_bytemap { - union { - u32 reg[8]; - unsigned long reg_ul[0]; - } percpu[VGIC_MAX_CPUS]; - union { - u32 reg[VGIC_NR_SHARED_IRQS / 4]; - unsigned long reg_ul[0]; - } shared; + u32 percpu[VGIC_MAX_CPUS][8]; + u32 shared[VGIC_NR_SHARED_IRQS / 4]; }; struct vgic_dist { diff --git a/arch/arm/kvm/vgic.c b/arch/arm/kvm/vgic.c index e2605cd..d96eca8 100644 --- a/arch/arm/kvm/vgic.c +++ b/arch/arm/kvm/vgic.c @@ -151,9 +151,9 @@ static inline u32 *vgic_bytemap_get_reg(struct vgic_bytemap *x, offset >>= 2; BUG_ON(offset > (VGIC_NR_IRQS / 4)); if (offset < 4) - return x->percpu[cpuid].reg + offset; + return x->percpu[cpuid] + offset; else - return x->shared.reg + offset - 8; + return x->shared + offset - 8; } static inline int vgic_bytemap_get_irq_val(struct vgic_bytemap *x, -- 1.8.0.1 _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/cucslists/listinfo/kvmarm