[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v3 13/15] xen/arm: vgic-v2: GICD_I{S, C}PENDR* are only word-accessible
Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx> --- This patch is candidate for backporting to Xen 4.4 and Xen 4.5. Although, this patch won't apply directly to Xen 4.4. Changes in v3: - Add Ian's ack Changes in v2: - Patch added --- xen/arch/arm/vgic-v2.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/xen/arch/arm/vgic-v2.c b/xen/arch/arm/vgic-v2.c index e7cdf9e..1a02541 100644 --- a/xen/arch/arm/vgic-v2.c +++ b/xen/arch/arm/vgic-v2.c @@ -95,7 +95,7 @@ static int vgic_v2_distr_mmio_read(struct vcpu *v, mmio_info_t *info) return 1; case GICD_ISPENDR ... GICD_ISPENDRN: - if ( dabt.size != DABT_BYTE && dabt.size != DABT_WORD ) goto bad_width; + if ( dabt.size != DABT_WORD ) goto bad_width; rank = vgic_rank_offset(v, 1, gicd_reg - GICD_ISPENDR, DABT_WORD); if ( rank == NULL) goto read_as_zero; vgic_lock_rank(v, rank, flags); @@ -104,8 +104,8 @@ static int vgic_v2_distr_mmio_read(struct vcpu *v, mmio_info_t *info) return 1; case GICD_ICPENDR ... GICD_ICPENDRN: - if ( dabt.size != DABT_BYTE && dabt.size != DABT_WORD ) goto bad_width; - rank = vgic_rank_offset(v, 1, gicd_reg - GICD_ICPENDR, DABT_WORD); + if ( dabt.size != DABT_WORD ) goto bad_width; + rank = vgic_rank_offset(v, 0, gicd_reg - GICD_ICPENDR, DABT_WORD); if ( rank == NULL) goto read_as_zero; vgic_lock_rank(v, rank, flags); *r = vgic_byte_read(rank->ipend, dabt.sign, gicd_reg); @@ -331,17 +331,17 @@ static int vgic_v2_distr_mmio_write(struct vcpu *v, mmio_info_t *info) return 1; case GICD_ISPENDR ... GICD_ISPENDRN: - if ( dabt.size != DABT_BYTE && dabt.size != DABT_WORD ) goto bad_width; + if ( dabt.size != DABT_WORD ) goto bad_width; printk(XENLOG_G_ERR - "%pv: vGICD: unhandled %s write %#"PRIregister" to ISPENDR%d\n", - v, dabt.size ? "word" : "byte", *r, gicd_reg - GICD_ISPENDR); + "%pv: vGICD: unhandled word write %#"PRIregister" to ISPENDR%d\n", + v, *r, gicd_reg - GICD_ISPENDR); return 0; case GICD_ICPENDR ... GICD_ICPENDRN: - if ( dabt.size != DABT_BYTE && dabt.size != DABT_WORD ) goto bad_width; + if ( dabt.size != DABT_WORD ) goto bad_width; printk(XENLOG_G_ERR - "%pv: vGICD: unhandled %s write %#"PRIregister" to ICPENDR%d\n", - v, dabt.size ? "word" : "byte", *r, gicd_reg - GICD_ICPENDR); + "%pv: vGICD: unhandled word write %#"PRIregister" to ICPENDR%d\n", + v, *r, gicd_reg - GICD_ICPENDR); return 0; case GICD_ISACTIVER ... GICD_ISACTIVERN: -- 2.1.4 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |