40 lines
1.4 KiB
Diff
40 lines
1.4 KiB
Diff
|
|
From 550d304465b366a116e02d2cb006475ea453a98a Mon Sep 17 00:00:00 2001
|
||
|
|
From: guping <guping_yewu@cmss.chinamobile.com>
|
||
|
|
Date: Mon, 22 Jul 2024 00:37:30 +0000
|
||
|
|
Subject: [PATCH] hvf: arm: Do not advance PC when raising an exception
|
||
|
|
cherry-pick from 30a1690f2402e6c1582d5b3ebcf7940bfe2fad4b
|
||
|
|
|
||
|
|
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: a2260983
|
||
|
|
|
||
|
|
("hvf: arm: Add support for GICv3")
|
||
|
|
Signed-off-by: default avatarAkihiko Odaki <akihiko.odaki@daynix.com>
|
||
|
|
Message-id: 20240716-pmu-v3-4-8c7c1858a227@daynix.com
|
||
|
|
Reviewed-by: default avatarPeter Maydell <peter.maydell@linaro.org>
|
||
|
|
Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
|
||
|
|
|
||
|
|
Signed-off-by: guping <guping_yewu@cmss.chinamobile.com>
|
||
|
|
---
|
||
|
|
target/arm/hvf/hvf.c | 1 +
|
||
|
|
1 file changed, 1 insertion(+)
|
||
|
|
|
||
|
|
diff --git a/target/arm/hvf/hvf.c b/target/arm/hvf/hvf.c
|
||
|
|
index 757e13b0f9..b4e98a99e2 100644
|
||
|
|
--- a/target/arm/hvf/hvf.c
|
||
|
|
+++ b/target/arm/hvf/hvf.c
|
||
|
|
@@ -1272,6 +1272,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:
|
||
|
|
--
|
||
|
|
2.41.0.windows.1
|
||
|
|
|