qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PULL 12/17] target-arm: Add user-mode transaction attribut


From: Peter Maydell
Subject: [Qemu-devel] [PULL 12/17] target-arm: Add user-mode transaction attribute
Date: Mon, 27 Apr 2015 16:20:40 +0100

Add a transaction attribute indicating that a memory access is being
done from user-mode (unprivileged). This corresponds to an equivalent
signal in ARM AMBA buses.

Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Alex Bennée <address@hidden>
---
 include/exec/memattrs.h | 2 ++
 target-arm/helper.c     | 1 +
 2 files changed, 3 insertions(+)

diff --git a/include/exec/memattrs.h b/include/exec/memattrs.h
index 68a9c76..1389b4b 100644
--- a/include/exec/memattrs.h
+++ b/include/exec/memattrs.h
@@ -31,6 +31,8 @@ typedef struct MemTxAttrs {
     unsigned int unspecified:1;
     /* ARM/AMBA TrustZone Secure access */
     unsigned int secure:1;
+    /* Memory access is usermode (unprivileged) */
+    unsigned int user:1;
 } MemTxAttrs;
 
 /* Bus masters which don't specify any attributes will get this,
diff --git a/target-arm/helper.c b/target-arm/helper.c
index a01ff7f..50469cd 100644
--- a/target-arm/helper.c
+++ b/target-arm/helper.c
@@ -5749,6 +5749,7 @@ static inline int get_phys_addr(CPUARMState *env, 
target_ulong address,
      * to secure.
      */
     attrs->secure = regime_is_secure(env, mmu_idx);
+    attrs->user = regime_is_user(env, mmu_idx);
 
     /* Fast Context Switch Extension. This doesn't exist at all in v8.
      * In v7 and earlier it affects all stage 1 translations.
-- 
1.9.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]