On 5/20/19 6:28 PM, Peter Maydell wrote: > In ich_vmcr_write() we enforce "writes of BPR fields to less than > their minimum sets them to the minimum" by doing a "read vbpr and > write it back" operation. A typo here meant that we weren't handling > writes to these fields correctly, because we were reading from VBPR0 > but writing to VBPR1. > > Signed-off-by: Peter Maydell <peter.mayd...@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <phi...@redhat.com> > --- > hw/intc/arm_gicv3_cpuif.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/hw/intc/arm_gicv3_cpuif.c b/hw/intc/arm_gicv3_cpuif.c > index cbad6037f19..000bdbd6247 100644 > --- a/hw/intc/arm_gicv3_cpuif.c > +++ b/hw/intc/arm_gicv3_cpuif.c > @@ -2366,7 +2366,7 @@ static void ich_vmcr_write(CPUARMState *env, const > ARMCPRegInfo *ri, > /* Enforce "writing BPRs to less than minimum sets them to the minimum" > * by reading and writing back the fields. > */ > - write_vbpr(cs, GICV3_G1, read_vbpr(cs, GICV3_G0)); > + write_vbpr(cs, GICV3_G0, read_vbpr(cs, GICV3_G0)); > write_vbpr(cs, GICV3_G1, read_vbpr(cs, GICV3_G1)); > > gicv3_cpuif_virt_update(cs); >