aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2019-05-23 14:47:43 +0100
committerPeter Maydell <peter.maydell@linaro.org>2019-05-23 14:47:43 +0100
commit8b7fbd6c36b868ad16cb7065dbba93ac342479af (patch)
tree70e3c4bd334d321dd9a900e16ded2d12dca528ac
parent12ec8bd51e81a025a444585359f019f49b57a702 (diff)
downloadqemu-8b7fbd6c36b868ad16cb7065dbba93ac342479af.zip
qemu-8b7fbd6c36b868ad16cb7065dbba93ac342479af.tar.gz
qemu-8b7fbd6c36b868ad16cb7065dbba93ac342479af.tar.bz2
hw/intc/arm_gicv3: Fix write of ICH_VMCR_EL2.{VBPR0, VBPR1}
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.maydell@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-id: 20190520162809.2677-4-peter.maydell@linaro.org
-rw-r--r--hw/intc/arm_gicv3_cpuif.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/hw/intc/arm_gicv3_cpuif.c b/hw/intc/arm_gicv3_cpuif.c
index cbad603..000bdbd 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);