aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Henderson <richard.henderson@linaro.org>2023-01-26 13:31:34 -1000
committerPeter Maydell <peter.maydell@linaro.org>2023-02-03 12:59:21 +0000
commit9d2617ac7d3139d870ba14204aedd74395990192 (patch)
tree659be43d038c8686727a6c129872ba3432f199be
parenta431ab0e4ef7fcff4349fd8453d0ea5f06ec2617 (diff)
downloadqemu-9d2617ac7d3139d870ba14204aedd74395990192.zip
qemu-9d2617ac7d3139d870ba14204aedd74395990192.tar.gz
qemu-9d2617ac7d3139d870ba14204aedd74395990192.tar.bz2
target/arm: Fix physical address resolution for Stage2
Conversion to probe_access_full missed applying the page offset. Cc: qemu-stable@nongnu.org Reported-by: Sid Manning <sidneym@quicinc.com> Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Message-id: 20230126233134.103193-1-richard.henderson@linaro.org Fixes: f3639a64f602 ("target/arm: Use softmmu tlbs for page table walking") Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
-rw-r--r--target/arm/ptw.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/target/arm/ptw.c b/target/arm/ptw.c
index 57f3615..2b125ff 100644
--- a/target/arm/ptw.c
+++ b/target/arm/ptw.c
@@ -266,7 +266,7 @@ static bool S1_ptw_translate(CPUARMState *env, S1Translate *ptw,
if (unlikely(flags & TLB_INVALID_MASK)) {
goto fail;
}
- ptw->out_phys = full->phys_addr;
+ ptw->out_phys = full->phys_addr | (addr & ~TARGET_PAGE_MASK);
ptw->out_rw = full->prot & PAGE_WRITE;
pte_attrs = full->pte_attrs;
pte_secure = full->attrs.secure;