[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 10/11] target/arm: Implement FEAT_HPDS2 as a no-op
From: |
Richard Henderson |
Subject: |
[PATCH v2 10/11] target/arm: Implement FEAT_HPDS2 as a no-op |
Date: |
Fri, 11 Aug 2023 14:40:30 -0700 |
This feature allows the operating system to set TCR_ELx.HWU*
to allow the implementation to use the PBHA bits from the
block and page descriptors for for IMPLEMENTATION DEFINED
purposes. Since QEMU has no need to use these bits, we may
simply ignore them.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
docs/system/arm/emulation.rst | 1 +
target/arm/tcg/cpu32.c | 2 +-
target/arm/tcg/cpu64.c | 2 +-
3 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/docs/system/arm/emulation.rst b/docs/system/arm/emulation.rst
index bdafc68819..2012bbf7c7 100644
--- a/docs/system/arm/emulation.rst
+++ b/docs/system/arm/emulation.rst
@@ -40,6 +40,7 @@ the following architecture extensions:
- FEAT_HAFDBS (Hardware management of the access flag and dirty bit state)
- FEAT_HCX (Support for the HCRX_EL2 register)
- FEAT_HPDS (Hierarchical permission disables)
+- FEAT_HPDS2 (Translation table page-based hardware attributes)
- FEAT_I8MM (AArch64 Int8 matrix multiplication instructions)
- FEAT_IDST (ID space trap handling)
- FEAT_IESB (Implicit error synchronization event)
diff --git a/target/arm/tcg/cpu32.c b/target/arm/tcg/cpu32.c
index 47d2e8e781..1f918ff537 100644
--- a/target/arm/tcg/cpu32.c
+++ b/target/arm/tcg/cpu32.c
@@ -62,7 +62,7 @@ void aa32_max_features(ARMCPU *cpu)
cpu->isar.id_mmfr3 = t;
t = cpu->isar.id_mmfr4;
- t = FIELD_DP32(t, ID_MMFR4, HPDS, 1); /* FEAT_AA32HPD */
+ t = FIELD_DP32(t, ID_MMFR4, HPDS, 2); /* FEAT_HPDS2 */
t = FIELD_DP32(t, ID_MMFR4, AC2, 1); /* ACTLR2, HACTLR2 */
t = FIELD_DP32(t, ID_MMFR4, CNP, 1); /* FEAT_TTCNP */
t = FIELD_DP32(t, ID_MMFR4, XNX, 1); /* FEAT_XNX */
diff --git a/target/arm/tcg/cpu64.c b/target/arm/tcg/cpu64.c
index 0054bb6dfa..b12e10d3ab 100644
--- a/target/arm/tcg/cpu64.c
+++ b/target/arm/tcg/cpu64.c
@@ -865,7 +865,7 @@ void aarch64_max_tcg_initfn(Object *obj)
t = FIELD_DP64(t, ID_AA64MMFR1, HAFDBS, 2); /* FEAT_HAFDBS */
t = FIELD_DP64(t, ID_AA64MMFR1, VMIDBITS, 2); /* FEAT_VMID16 */
t = FIELD_DP64(t, ID_AA64MMFR1, VH, 1); /* FEAT_VHE */
- t = FIELD_DP64(t, ID_AA64MMFR1, HPDS, 1); /* FEAT_HPDS */
+ t = FIELD_DP64(t, ID_AA64MMFR1, HPDS, 2); /* FEAT_HPDS2 */
t = FIELD_DP64(t, ID_AA64MMFR1, LO, 1); /* FEAT_LOR */
t = FIELD_DP64(t, ID_AA64MMFR1, PAN, 3); /* FEAT_PAN3 */
t = FIELD_DP64(t, ID_AA64MMFR1, XNX, 1); /* FEAT_XNX */
--
2.34.1
- [PATCH v2 06/11] target/arm: Apply access checks to neoverse-n1 special registers, (continued)
- [PATCH v2 06/11] target/arm: Apply access checks to neoverse-n1 special registers, Richard Henderson, 2023/08/11
- [PATCH v2 04/11] target/arm: When tag memory is not present, set MTE=1, Richard Henderson, 2023/08/11
- [PATCH v2 08/11] target/arm: Implement RMR_EL3 for neoverse-v1, Richard Henderson, 2023/08/11
- [PATCH v2 09/11] target/arm: Suppress FEAT_TRBE (Trace Buffer Extension), Richard Henderson, 2023/08/11
- [PATCH v2 03/11] target/arm: Support more GM blocksizes, Richard Henderson, 2023/08/11
- [PATCH v2 10/11] target/arm: Implement FEAT_HPDS2 as a no-op,
Richard Henderson <=
- [PATCH v2 02/11] target/arm: Allow cpu to configure GM blocksize, Richard Henderson, 2023/08/11
- [PATCH v2 07/11] target/arm: Apply access checks to neoverse-v1 special registers, Richard Henderson, 2023/08/11
- [PATCH v2 01/11] target/arm: Reduce dcz_blocksize to uint8_t, Richard Henderson, 2023/08/11
- [PATCH v2 05/11] target/arm: Introduce make_ccsidr64, Richard Henderson, 2023/08/11
- [PATCH v2 11/11] target/arm: Implement cortex-a710, Richard Henderson, 2023/08/11