Adds FEAT_RME_GDI, some extra cases to arm_granule_protection_check,
and a very basic TCG test to check the prerequisites of FEAT_RME_GDI:
FEAT_RME and FEAT_RME_GPC2.
FEAT_RME_GDI is not enabled yet as no functional support has been
added; it can easily be enabled in cpu_arm_set_rme in future.
In the future we should correctly set bits in the fault address
registers such as PFAR_EL2, but I don't see any apparent support for
these in the existing GPT mechanism. Testing this also gets tricky as
I think this would have to be done from EL3 (e.g. by modifying
test_rme_virt.py)
Signed-off-by: Jim MacArthur <jim.macarthur@linaro.org>
---
Changes in v2:
- arm_granule protection_check now checks SA, NSP, NA6, NA7 and
goes to fault_fail if set for the appropriate GDI encoding.
- New fields for GPCCR: SA, NSP, NA6, NA7 and GPCBW
- Since we're touching AA64MMFR4, added in all the new fields not
currently listed.
- Link to v1: https://lore.kernel.org/qemu-devel/20260416-jmac-feat_rme_gdi-v1-0-d9fa0781ed58@linaro.org
---
Jim MacArthur (4):
target/arm/cpu-features.c: New fields in AA64MMFR4
target/arm/cpu.h: New GPCCR fields
target/arm/ptw.c: Add GDI spaces to the granule protection case
tests/tcg/aarch64/system/rme_gdi.c: Very basic test of GDI
target/arm/cpu-features.h | 8 ++++++
target/arm/cpu.h | 5 ++++
target/arm/ptw.c | 20 ++++++++++++++
tests/tcg/aarch64/system/rme_gdi.c | 56 ++++++++++++++++++++++++++++++++++++++
4 files changed, 89 insertions(+)
---
base-commit: da6c4fe60fee30dd77267764d55b38af9cb89d4b
change-id: 20260416-jmac-feat_rme_gdi-71c2d2dd6770
Best regards,
--
Jim MacArthur <jim.macarthur@linaro.org>