Message ID | 20190520162809.2677-2-peter.maydell@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | hw/intc/arm_gicv3: Four simple bugfixes | expand |
On 5/20/19 6:28 PM, Peter Maydell wrote: > The GIC ID registers cover an area 0x30 bytes in size > (12 registers, 4 bytes each). We were incorrectly decoding > only the first 0x20 bytes. > > Signed-off-by: Peter Maydell <peter.maydell@linaro.org> "8.1.13 Identification registers" OK. Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> > --- > hw/intc/arm_gicv3_dist.c | 2 +- > hw/intc/arm_gicv3_redist.c | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/hw/intc/arm_gicv3_dist.c b/hw/intc/arm_gicv3_dist.c > index 53c55c57291..335386ff3ac 100644 > --- a/hw/intc/arm_gicv3_dist.c > +++ b/hw/intc/arm_gicv3_dist.c > @@ -533,7 +533,7 @@ static MemTxResult gicd_readl(GICv3State *s, hwaddr offset, > } > return MEMTX_OK; > } > - case GICD_IDREGS ... GICD_IDREGS + 0x1f: > + case GICD_IDREGS ... GICD_IDREGS + 0x2f: > /* ID registers */ > *data = gicv3_idreg(offset - GICD_IDREGS); > return MEMTX_OK; > diff --git a/hw/intc/arm_gicv3_redist.c b/hw/intc/arm_gicv3_redist.c > index 3b0ba6de1ab..9bb11423382 100644 > --- a/hw/intc/arm_gicv3_redist.c > +++ b/hw/intc/arm_gicv3_redist.c > @@ -233,7 +233,7 @@ static MemTxResult gicr_readl(GICv3CPUState *cs, hwaddr offset, > } > *data = cs->gicr_nsacr; > return MEMTX_OK; > - case GICR_IDREGS ... GICR_IDREGS + 0x1f: > + case GICR_IDREGS ... GICR_IDREGS + 0x2f: > *data = gicv3_idreg(offset - GICR_IDREGS); > return MEMTX_OK; > default: >
On Mon, 20 May 2019 at 17:28, Peter Maydell <peter.maydell@linaro.org> wrote: > > The GIC ID registers cover an area 0x30 bytes in size > (12 registers, 4 bytes each). We were incorrectly decoding > only the first 0x20 bytes. > > Signed-off-by: Peter Maydell <peter.maydell@linaro.org> > --- > hw/intc/arm_gicv3_dist.c | 2 +- > hw/intc/arm_gicv3_redist.c | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/hw/intc/arm_gicv3_dist.c b/hw/intc/arm_gicv3_dist.c > index 53c55c57291..335386ff3ac 100644 > --- a/hw/intc/arm_gicv3_dist.c > +++ b/hw/intc/arm_gicv3_dist.c > @@ -533,7 +533,7 @@ static MemTxResult gicd_readl(GICv3State *s, hwaddr offset, > } > return MEMTX_OK; > } > - case GICD_IDREGS ... GICD_IDREGS + 0x1f: > + case GICD_IDREGS ... GICD_IDREGS + 0x2f: > /* ID registers */ > *data = gicv3_idreg(offset - GICD_IDREGS); > return MEMTX_OK; > diff --git a/hw/intc/arm_gicv3_redist.c b/hw/intc/arm_gicv3_redist.c > index 3b0ba6de1ab..9bb11423382 100644 > --- a/hw/intc/arm_gicv3_redist.c > +++ b/hw/intc/arm_gicv3_redist.c > @@ -233,7 +233,7 @@ static MemTxResult gicr_readl(GICv3CPUState *cs, hwaddr offset, > } > *data = cs->gicr_nsacr; > return MEMTX_OK; > - case GICR_IDREGS ... GICR_IDREGS + 0x1f: > + case GICR_IDREGS ... GICR_IDREGS + 0x2f: > *data = gicv3_idreg(offset - GICR_IDREGS); > return MEMTX_OK; > default: Just noticed that I forgot to also update the case statements in the *writel functions :-( thanks -- PMM
diff --git a/hw/intc/arm_gicv3_dist.c b/hw/intc/arm_gicv3_dist.c index 53c55c57291..335386ff3ac 100644 --- a/hw/intc/arm_gicv3_dist.c +++ b/hw/intc/arm_gicv3_dist.c @@ -533,7 +533,7 @@ static MemTxResult gicd_readl(GICv3State *s, hwaddr offset, } return MEMTX_OK; } - case GICD_IDREGS ... GICD_IDREGS + 0x1f: + case GICD_IDREGS ... GICD_IDREGS + 0x2f: /* ID registers */ *data = gicv3_idreg(offset - GICD_IDREGS); return MEMTX_OK; diff --git a/hw/intc/arm_gicv3_redist.c b/hw/intc/arm_gicv3_redist.c index 3b0ba6de1ab..9bb11423382 100644 --- a/hw/intc/arm_gicv3_redist.c +++ b/hw/intc/arm_gicv3_redist.c @@ -233,7 +233,7 @@ static MemTxResult gicr_readl(GICv3CPUState *cs, hwaddr offset, } *data = cs->gicr_nsacr; return MEMTX_OK; - case GICR_IDREGS ... GICR_IDREGS + 0x1f: + case GICR_IDREGS ... GICR_IDREGS + 0x2f: *data = gicv3_idreg(offset - GICR_IDREGS); return MEMTX_OK; default:
The GIC ID registers cover an area 0x30 bytes in size (12 registers, 4 bytes each). We were incorrectly decoding only the first 0x20 bytes. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> --- hw/intc/arm_gicv3_dist.c | 2 +- hw/intc/arm_gicv3_redist.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) -- 2.20.1