[Qemu-devel] [PATCH for-2.10] target/arm: Correct MPU trace handling of write vs execute

Peter Maydell posted 1 patch 8 years, 3 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/1500906792-18010-1-git-send-email-peter.maydell@linaro.org
Test FreeBSD passed
Test checkpatch passed
Test s390x passed
target/arm/helper.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
[Qemu-devel] [PATCH for-2.10] target/arm: Correct MPU trace handling of write vs execute
Posted by Peter Maydell 8 years, 3 months ago
Correct off-by-one bug in the PSMAv7 MPU tracing where it would print
a write access as "reading", an insn fetch as "writing", and a read
access as "execute".

Since we have an MMUAccessType enum now, we can make the code clearer
in the process by using that rather than the raw 0/1/2 values.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
We should update all this code to use the MMUAccessType type and
the enum values, but that's work for 2.11 (I'll put together a patch).
In the meantime, this is a bugfix for 2.10...

 target/arm/helper.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/target/arm/helper.c b/target/arm/helper.c
index 4ed32c5..9ed5096 100644
--- a/target/arm/helper.c
+++ b/target/arm/helper.c
@@ -8558,8 +8558,8 @@ static bool get_phys_addr(CPUARMState *env, target_ulong address,
                                    phys_ptr, prot, fsr);
         qemu_log_mask(CPU_LOG_MMU, "PMSAv7 MPU lookup for %s at 0x%08" PRIx32
                       " mmu_idx %u -> %s (prot %c%c%c)\n",
-                      access_type == 1 ? "reading" :
-                      (access_type == 2 ? "writing" : "execute"),
+                      access_type == MMU_DATA_LOAD ? "reading" :
+                      (access_type == MMU_DATA_STORE ? "writing" : "execute"),
                       (uint32_t)address, mmu_idx,
                       ret ? "Miss" : "Hit",
                       *prot & PAGE_READ ? 'r' : '-',
-- 
2.7.4


Re: [Qemu-devel] [PATCH for-2.10] target/arm: Correct MPU trace handling of write vs execute
Posted by Richard Henderson 8 years, 3 months ago
On 07/24/2017 07:33 AM, Peter Maydell wrote:
> Correct off-by-one bug in the PSMAv7 MPU tracing where it would print
> a write access as "reading", an insn fetch as "writing", and a read
> access as "execute".
> 
> Since we have an MMUAccessType enum now, we can make the code clearer
> in the process by using that rather than the raw 0/1/2 values.
> 
> Signed-off-by: Peter Maydell<peter.maydell@linaro.org>
> ---

Reviewed-by: Richard Henderson <rth@twiddle.net>


r~