[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v6a 15/17] xen/arm: Remove REG macro in vgic driver
From: Vijaya Kumar K <Vijaya.Kumar@xxxxxxxxxxxxxxxxxx> REG macro does not compute any value and offset variable is no more required. Hence removed Signed-off-by: Vijaya Kumar K <Vijaya.Kumar@xxxxxxxxxxxxxxxxxx> Acked-by: Julien Grall <julien.grall@xxxxxxxxxx> Acked-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx> --- xen/arch/arm/vgic.c | 68 ++++++++++++++++++++++++--------------------------- 1 file changed, 32 insertions(+), 36 deletions(-) diff --git a/xen/arch/arm/vgic.c b/xen/arch/arm/vgic.c index ca9eeda..78004b0 100644 --- a/xen/arch/arm/vgic.c +++ b/xen/arch/arm/vgic.c @@ -31,8 +31,6 @@ #include <asm/gic.h> #include <asm/vgic.h> -#define REG(n) (n) - static int vgic_distr_mmio_read(struct vcpu *v, mmio_info_t *info); static int vgic_distr_mmio_write(struct vcpu *v, mmio_info_t *info); @@ -156,8 +154,7 @@ static int vgic_distr_mmio_read(struct vcpu *v, mmio_info_t *info) struct cpu_user_regs *regs = guest_cpu_user_regs(); register_t *r = select_user_reg(regs, dabt.reg); struct vgic_irq_rank *rank; - int offset = (int)(info->gpa - v->domain->arch.vgic.dbase); - int gicd_reg = REG(offset); + int gicd_reg = (int)(info->gpa - v->domain->arch.vgic.dbase); switch ( gicd_reg ) { @@ -185,7 +182,7 @@ static int vgic_distr_mmio_read(struct vcpu *v, mmio_info_t *info) return 1; /* Implementation defined -- read as zero */ - case REG(0x020) ... REG(0x03c): + case 0x020 ... 0x03c: goto read_as_zero; case GICD_IGROUPR ... GICD_IGROUPRN: @@ -215,7 +212,7 @@ static int vgic_distr_mmio_read(struct vcpu *v, mmio_info_t *info) rank = vgic_rank_offset(v, 1, gicd_reg - GICD_ISPENDR, DABT_WORD); if ( rank == NULL) goto read_as_zero; vgic_lock_rank(v, rank); - *r = vgic_byte_read(rank->ipend, dabt.sign, offset); + *r = vgic_byte_read(rank->ipend, dabt.sign, gicd_reg); vgic_unlock_rank(v, rank); return 1; @@ -224,7 +221,7 @@ static int vgic_distr_mmio_read(struct vcpu *v, mmio_info_t *info) rank = vgic_rank_offset(v, 1, gicd_reg - GICD_ICPENDR, DABT_WORD); if ( rank == NULL) goto read_as_zero; vgic_lock_rank(v, rank); - *r = vgic_byte_read(rank->ipend, dabt.sign, offset); + *r = vgic_byte_read(rank->ipend, dabt.sign, gicd_reg); vgic_unlock_rank(v, rank); return 1; @@ -255,7 +252,7 @@ static int vgic_distr_mmio_read(struct vcpu *v, mmio_info_t *info) *r = rank->itargets[REG_RANK_INDEX(8, gicd_reg - GICD_ITARGETSR, DABT_WORD)]; if ( dabt.size == DABT_BYTE ) - *r = vgic_byte_read(*r, dabt.sign, offset); + *r = vgic_byte_read(*r, dabt.sign, gicd_reg); vgic_unlock_rank(v, rank); return 1; @@ -268,7 +265,7 @@ static int vgic_distr_mmio_read(struct vcpu *v, mmio_info_t *info) *r = rank->ipriority[REG_RANK_INDEX(8, gicd_reg - GICD_IPRIORITYR, DABT_WORD)]; if ( dabt.size == DABT_BYTE ) - *r = vgic_byte_read(*r, dabt.sign, offset); + *r = vgic_byte_read(*r, dabt.sign, gicd_reg); vgic_unlock_rank(v, rank); return 1; @@ -296,7 +293,7 @@ static int vgic_distr_mmio_read(struct vcpu *v, mmio_info_t *info) rank = vgic_rank_offset(v, 1, gicd_reg - GICD_CPENDSGIR, DABT_WORD); if ( rank == NULL) goto read_as_zero; vgic_lock_rank(v, rank); - *r = vgic_byte_read(rank->pendsgi, dabt.sign, offset); + *r = vgic_byte_read(rank->pendsgi, dabt.sign, gicd_reg); vgic_unlock_rank(v, rank); return 1; @@ -305,12 +302,12 @@ static int vgic_distr_mmio_read(struct vcpu *v, mmio_info_t *info) rank = vgic_rank_offset(v, 1, gicd_reg - GICD_SPENDSGIR, DABT_WORD); if ( rank == NULL) goto read_as_zero; vgic_lock_rank(v, rank); - *r = vgic_byte_read(rank->pendsgi, dabt.sign, offset); + *r = vgic_byte_read(rank->pendsgi, dabt.sign, gicd_reg); vgic_unlock_rank(v, rank); return 1; /* Implementation defined -- read as zero */ - case REG(0xfd0) ... REG(0xfe4): + case 0xfd0 ... 0xfe4: goto read_as_zero; case GICD_ICPIDR2: @@ -319,27 +316,27 @@ static int vgic_distr_mmio_read(struct vcpu *v, mmio_info_t *info) return 0; /* Implementation defined -- read as zero */ - case REG(0xfec) ... REG(0xffc): + case 0xfec ... 0xffc: goto read_as_zero; /* Reserved -- read as zero */ - case REG(0x00c) ... REG(0x01c): - case REG(0x040) ... REG(0x07c): - case REG(0x7fc): - case REG(0xbfc): - case REG(0xf04) ... REG(0xf0c): - case REG(0xf30) ... REG(0xfcc): + case 0x00c ... 0x01c: + case 0x040 ... 0x07c: + case 0x7fc: + case 0xbfc: + case 0xf04 ... 0xf0c: + case 0xf30 ... 0xfcc: goto read_as_zero; default: printk("vGICD: unhandled read r%d offset %#08x\n", - dabt.reg, offset); + dabt.reg, gicd_reg); return 0; } bad_width: printk("vGICD: bad read width %d r%d offset %#08x\n", - dabt.size, dabt.reg, offset); + dabt.size, dabt.reg, gicd_reg); domain_crash_synchronous(); return 0; @@ -463,8 +460,7 @@ static int vgic_distr_mmio_write(struct vcpu *v, mmio_info_t *info) struct cpu_user_regs *regs = guest_cpu_user_regs(); register_t *r = select_user_reg(regs, dabt.reg); struct vgic_irq_rank *rank; - int offset = (int)(info->gpa - v->domain->arch.vgic.dbase); - int gicd_reg = REG(offset); + int gicd_reg = (int)(info->gpa - v->domain->arch.vgic.dbase); uint32_t tr; switch ( gicd_reg ) @@ -481,7 +477,7 @@ static int vgic_distr_mmio_write(struct vcpu *v, mmio_info_t *info) goto write_ignore; /* Implementation defined -- write ignored */ - case REG(0x020) ... REG(0x03c): + case 0x020 ... 0x03c: goto write_ignore; case GICD_IGROUPR ... GICD_IGROUPRN: @@ -557,7 +553,7 @@ static int vgic_distr_mmio_write(struct vcpu *v, mmio_info_t *info) else { tr = REG_RANK_INDEX(8, gicd_reg - GICD_ITARGETSR, DABT_WORD); - vgic_byte_write(&rank->itargets[tr], *r, offset); + vgic_byte_write(&rank->itargets[tr], *r, gicd_reg); } vgic_unlock_rank(v, rank); return 1; @@ -573,7 +569,7 @@ static int vgic_distr_mmio_write(struct vcpu *v, mmio_info_t *info) else { tr = REG_RANK_INDEX(8, gicd_reg - GICD_IPRIORITYR, DABT_WORD); - vgic_byte_write(&rank->ipriority[tr], *r, offset); + vgic_byte_write(&rank->ipriority[tr], *r, gicd_reg); } vgic_unlock_rank(v, rank); return 1; @@ -614,7 +610,7 @@ static int vgic_distr_mmio_write(struct vcpu *v, mmio_info_t *info) return 0; /* Implementation defined -- write ignored */ - case REG(0xfd0) ... REG(0xfe4): + case 0xfd0 ... 0xfe4: goto write_ignore; /* R/O -- write ignore */ @@ -622,27 +618,27 @@ static int vgic_distr_mmio_write(struct vcpu *v, mmio_info_t *info) goto write_ignore; /* Implementation defined -- write ignored */ - case REG(0xfec) ... REG(0xffc): + case 0xfec ... 0xffc: goto write_ignore; /* Reserved -- write ignored */ - case REG(0x00c) ... REG(0x01c): - case REG(0x040) ... REG(0x07c): - case REG(0x7fc): - case REG(0xbfc): - case REG(0xf04) ... REG(0xf0c): - case REG(0xf30) ... REG(0xfcc): + case 0x00c ... 0x01c: + case 0x040 ... 0x07c: + case 0x7fc: + case 0xbfc: + case 0xf04 ... 0xf0c: + case 0xf30 ... 0xfcc: goto write_ignore; default: printk("vGICD: unhandled write r%d=%"PRIregister" offset %#08x\n", - dabt.reg, *r, offset); + dabt.reg, *r, gicd_reg); return 0; } bad_width: printk("vGICD: bad write width %d r%d=%"PRIregister" offset %#08x\n", - dabt.size, dabt.reg, *r, offset); + dabt.size, dabt.reg, *r, gicd_reg); domain_crash_synchronous(); return 0; -- 1.7.9.5 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |