summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorRichard Henderson <richard.henderson@linaro.org>2023-01-13 17:12:13 -1000
committerPeter Maydell <peter.maydell@linaro.org>2023-01-23 13:32:38 +0000
commit28fb921f02ef46676eb4b8a2eb9fb928f756b208 (patch)
tree4cd018bc4e0047c04cd5c08a7e68892a42510bd5
parent5c922ec5b136b452fe9d21e7581c99554ce650ed (diff)
downloadfocaccia-qemu-28fb921f02ef46676eb4b8a2eb9fb928f756b208.tar.gz
focaccia-qemu-28fb921f02ef46676eb4b8a2eb9fb928f756b208.zip
target/arm: Fix physical address resolution for MTE
Conversion to probe_access_full missed applying the page offset.

Fixes: b8967ddf ("target/arm: Use probe_access_full for MTE")
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1416
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20230114031213.2970349-1-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
-rw-r--r--target/arm/mte_helper.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/target/arm/mte_helper.c b/target/arm/mte_helper.c
index 86b3754838..98bcf59c22 100644
--- a/target/arm/mte_helper.c
+++ b/target/arm/mte_helper.c
@@ -142,7 +142,7 @@ static uint8_t *allocation_tag_mem(CPUARMState *env, int ptr_mmu_idx,
      * Remember these values across the second lookup below,
      * which may invalidate this pointer via tlb resize.
      */
-    ptr_paddr = full->phys_addr;
+    ptr_paddr = full->phys_addr | (ptr & ~TARGET_PAGE_MASK);
     attrs = full->attrs;
     full = NULL;