diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2015-04-26 16:49:25 +0100 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2015-04-26 16:49:25 +0100 |
commit | 0995bf8cd91b81ec9c1078e37b808794080dc5c0 (patch) | |
tree | 62c82605c1abae5c2f46592d74c031652579d2c3 | |
parent | ebca90e4c3aaaae5ed1ee7c569dea00d5d6ed476 (diff) | |
download | qemu-0995bf8cd91b81ec9c1078e37b808794080dc5c0.tar.gz qemu-0995bf8cd91b81ec9c1078e37b808794080dc5c0.tar.bz2 qemu-0995bf8cd91b81ec9c1078e37b808794080dc5c0.zip |
target-arm: Add user-mode transaction attribute
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 <peter.maydell@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
-rw-r--r-- | include/exec/memattrs.h | 2 | ||||
-rw-r--r-- | target-arm/helper.c | 1 |
2 files changed, 3 insertions, 0 deletions
diff --git a/include/exec/memattrs.h b/include/exec/memattrs.h index 68a9c760d5..1389b4b01d 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 a01ff7fccc..50469cdae0 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. |