Message ID | 20170407173307.9788-17-andre.przywara@arm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi Andre, On 04/07/2017 06:32 PM, Andre Przywara wrote: > vgic_reg64_check_access() checks for a valid access width of a 64-bit > MMIO register, which is useful beyond the current GICv3 emulation only. > Move this function to the vgic-emul.h to be easily reusable. > > Signed-off-by: Andre Przywara <andre.przywara@arm.com> Acked-by: Julien Grall <julien.grall@arm.com> > --- > xen/arch/arm/vgic-v3.c | 9 --------- > xen/include/asm-arm/vgic-emul.h | 9 +++++++++ > 2 files changed, 9 insertions(+), 9 deletions(-) > > diff --git a/xen/arch/arm/vgic-v3.c b/xen/arch/arm/vgic-v3.c > index fd6a777..4462b8c 100644 > --- a/xen/arch/arm/vgic-v3.c > +++ b/xen/arch/arm/vgic-v3.c > @@ -160,15 +160,6 @@ static void vgic_store_irouter(struct domain *d, struct vgic_irq_rank *rank, > } > } > > -static inline bool vgic_reg64_check_access(struct hsr_dabt dabt) > -{ > - /* > - * 64 bits registers can be accessible using 32-bit and 64-bit unless > - * stated otherwise (See 8.1.3 ARM IHI 0069A). > - */ > - return ( dabt.size == DABT_DOUBLE_WORD || dabt.size == DABT_WORD ); > -} > - > static int __vgic_v3_rdistr_rd_mmio_read(struct vcpu *v, mmio_info_t *info, > uint32_t gicr_reg, > register_t *r) > diff --git a/xen/include/asm-arm/vgic-emul.h b/xen/include/asm-arm/vgic-emul.h > index 184a1f0..e52fbaa 100644 > --- a/xen/include/asm-arm/vgic-emul.h > +++ b/xen/include/asm-arm/vgic-emul.h > @@ -12,6 +12,15 @@ > #define VRANGE32(start, end) start ... end + 3 > #define VRANGE64(start, end) start ... end + 7 > > +/* > + * 64 bits registers can be accessible using 32-bit and 64-bit unless > + * stated otherwise (See 8.1.3 ARM IHI 0069A). > + */ > +static inline bool vgic_reg64_check_access(struct hsr_dabt dabt) > +{ > + return ( dabt.size == DABT_DOUBLE_WORD || dabt.size == DABT_WORD ); > +} > + > #endif /* __ASM_ARM_VGIC_EMUL_H__ */ > > /* > Cheers,
diff --git a/xen/arch/arm/vgic-v3.c b/xen/arch/arm/vgic-v3.c index fd6a777..4462b8c 100644 --- a/xen/arch/arm/vgic-v3.c +++ b/xen/arch/arm/vgic-v3.c @@ -160,15 +160,6 @@ static void vgic_store_irouter(struct domain *d, struct vgic_irq_rank *rank, } } -static inline bool vgic_reg64_check_access(struct hsr_dabt dabt) -{ - /* - * 64 bits registers can be accessible using 32-bit and 64-bit unless - * stated otherwise (See 8.1.3 ARM IHI 0069A). - */ - return ( dabt.size == DABT_DOUBLE_WORD || dabt.size == DABT_WORD ); -} - static int __vgic_v3_rdistr_rd_mmio_read(struct vcpu *v, mmio_info_t *info, uint32_t gicr_reg, register_t *r) diff --git a/xen/include/asm-arm/vgic-emul.h b/xen/include/asm-arm/vgic-emul.h index 184a1f0..e52fbaa 100644 --- a/xen/include/asm-arm/vgic-emul.h +++ b/xen/include/asm-arm/vgic-emul.h @@ -12,6 +12,15 @@ #define VRANGE32(start, end) start ... end + 3 #define VRANGE64(start, end) start ... end + 7 +/* + * 64 bits registers can be accessible using 32-bit and 64-bit unless + * stated otherwise (See 8.1.3 ARM IHI 0069A). + */ +static inline bool vgic_reg64_check_access(struct hsr_dabt dabt) +{ + return ( dabt.size == DABT_DOUBLE_WORD || dabt.size == DABT_WORD ); +} + #endif /* __ASM_ARM_VGIC_EMUL_H__ */ /*
vgic_reg64_check_access() checks for a valid access width of a 64-bit MMIO register, which is useful beyond the current GICv3 emulation only. Move this function to the vgic-emul.h to be easily reusable. Signed-off-by: Andre Przywara <andre.przywara@arm.com> --- xen/arch/arm/vgic-v3.c | 9 --------- xen/include/asm-arm/vgic-emul.h | 9 +++++++++ 2 files changed, 9 insertions(+), 9 deletions(-)