[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v5 06/20] include/exec/memattrs: Add two bits of space to MemTxAt
From: |
Richard Henderson |
Subject: |
[PATCH v5 06/20] include/exec/memattrs: Add two bits of space to MemTxAttrs |
Date: |
Tue, 20 Jun 2023 14:44:04 +0200 |
We will need 2 bits to represent ARMSecurityState.
Do not attempt to replace or widen secure, even though it
logically overlaps the new field -- there are uses within
e.g. hw/block/pflash_cfi01.c, which don't know anything
specific about ARM.
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
include/exec/memattrs.h | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/include/exec/memattrs.h b/include/exec/memattrs.h
index 9fb98bc1ef..d04170aa27 100644
--- a/include/exec/memattrs.h
+++ b/include/exec/memattrs.h
@@ -29,10 +29,17 @@ typedef struct MemTxAttrs {
* "didn't specify" if necessary.
*/
unsigned int unspecified:1;
- /* ARM/AMBA: TrustZone Secure access
+ /*
+ * ARM/AMBA: TrustZone Secure access
* x86: System Management Mode access
*/
unsigned int secure:1;
+ /*
+ * ARM: ArmSecuritySpace. This partially overlaps secure, but it is
+ * easier to have both fields to assist code that does not understand
+ * ARMv9 RME, or no specific knowledge of ARM at all (e.g. pflash).
+ */
+ unsigned int space:2;
/* Memory access is usermode (unprivileged) */
unsigned int user:1;
/*
--
2.34.1
- [PATCH v5 00/20] target/arm: Implement FEAT_RME, Richard Henderson, 2023/06/20
- [PATCH v5 01/20] target/arm: Add isar_feature_aa64_rme, Richard Henderson, 2023/06/20
- [PATCH v5 04/20] target/arm: Add RME cpregs, Richard Henderson, 2023/06/20
- [PATCH v5 02/20] target/arm: Update SCR and HCR for RME, Richard Henderson, 2023/06/20
- [PATCH v5 03/20] target/arm: SCR_EL3.NS may be RES1, Richard Henderson, 2023/06/20
- [PATCH v5 05/20] target/arm: Introduce ARMSecuritySpace, Richard Henderson, 2023/06/20
- [PATCH v5 06/20] include/exec/memattrs: Add two bits of space to MemTxAttrs,
Richard Henderson <=
- [PATCH v5 07/20] target/arm: Adjust the order of Phys and Stage2 ARMMMUIdx, Richard Henderson, 2023/06/20
- [PATCH v5 08/20] target/arm: Introduce ARMMMUIdx_Phys_{Realm,Root}, Richard Henderson, 2023/06/20
- [PATCH v5 09/20] target/arm: Remove __attribute__((nonnull)) from ptw.c, Richard Henderson, 2023/06/20
- [PATCH v5 10/20] target/arm: Pipe ARMSecuritySpace through ptw.c, Richard Henderson, 2023/06/20
- [PATCH v5 11/20] target/arm: NSTable is RES0 for the RME EL3 regime, Richard Henderson, 2023/06/20
- [PATCH v5 13/20] target/arm: Handle no-execute for Realm and Root regimes, Richard Henderson, 2023/06/20
- [PATCH v5 14/20] target/arm: Use get_phys_addr_with_struct in S1_ptw_translate, Richard Henderson, 2023/06/20
- [PATCH v5 15/20] target/arm: Move s1_is_el0 into S1Translate, Richard Henderson, 2023/06/20
- [PATCH v5 16/20] target/arm: Use get_phys_addr_with_struct for stage2, Richard Henderson, 2023/06/20
- [PATCH v5 12/20] target/arm: Handle Block and Page bits for security space, Richard Henderson, 2023/06/20