aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAkihiko Odaki <akihiko.odaki@daynix.com>2024-07-16 21:50:33 +0900
committerPeter Maydell <peter.maydell@linaro.org>2024-07-18 13:49:30 +0100
commit30a1690f2402e6c1582d5b3ebcf7940bfe2fad4b (patch)
tree5f9cd68ded4bdeac3ae00900bdcbf334bc8fb9c3
parent71328d82896642d79d4e538e5a56c5e6762a219a (diff)
downloadqemu-30a1690f2402e6c1582d5b3ebcf7940bfe2fad4b.zip
qemu-30a1690f2402e6c1582d5b3ebcf7940bfe2fad4b.tar.gz
qemu-30a1690f2402e6c1582d5b3ebcf7940bfe2fad4b.tar.bz2
hvf: arm: Do not advance PC when raising an exception
hvf did not advance PC when raising an exception for most unhandled system registers, but it mistakenly advanced PC when raising an exception for GICv3 registers. Cc: qemu-stable@nongnu.org Fixes: a2260983c655 ("hvf: arm: Add support for GICv3") Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com> Message-id: 20240716-pmu-v3-4-8c7c1858a227@daynix.com Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
-rw-r--r--target/arm/hvf/hvf.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/target/arm/hvf/hvf.c b/target/arm/hvf/hvf.c
index ef9bc42..eb090e6 100644
--- a/target/arm/hvf/hvf.c
+++ b/target/arm/hvf/hvf.c
@@ -1278,6 +1278,7 @@ static int hvf_sysreg_read(CPUState *cpu, uint32_t reg, uint32_t rt)
/* Call the TCG sysreg handler. This is only safe for GICv3 regs. */
if (!hvf_sysreg_read_cp(cpu, reg, &val)) {
hvf_raise_exception(cpu, EXCP_UDEF, syn_uncategorized());
+ return 1;
}
break;
case SYSREG_DBGBVR0_EL1: