qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH-for-10.1 v7 0/6] target/arm: Add FEAT_MEC to max cpu
@ 2025-07-11 14:08 Gustavo Romero
  2025-07-11 14:08 ` [PATCH v7 1/6] target/arm: Add the MECEn SCR_EL3 bit Gustavo Romero
                   ` (5 more replies)
  0 siblings, 6 replies; 14+ messages in thread
From: Gustavo Romero @ 2025-07-11 14:08 UTC (permalink / raw)
  To: qemu-arm, richard.henderson, alex.bennee, peter.maydell
  Cc: qemu-devel, gustavo.romero

Since v4:

- Moved MECID_WIDTH from cpu.h to internal.h
- Fixed stray ';'s in access and write functions
- Use of GET_IDREG/FIELD_DP64/SET_IDREG for setting feature in ID regs
- Sorted correctly isar_feature_aa64_* AA64MMFR3 tests
- Simplified/unified accessfn for cache instructions
- Fixed how cache instruction-related registers are registered in the cpu

Since v5:

- Fixed missing checks for ARM_FEATURE_EL3 in sctlr2_el2_access and
  tcr2_el2_access functions

Since v6:
 
- Added missing feature checks in aliases[] that made 'make check' fail in v6 (pmm)
- Set feature bits in SCR_EL3 in arm_emulate_firmware_reset for Linux (pmm)
- Rebased on pmm's target-arm.next

v1: https://mail.gnu.org/archive/html/qemu-devel/2025-06/msg04598.html 
v2: https://mail.gnu.org/archive/html/qemu-devel/2025-07/msg01799.html
v3: https://mail.gnu.org/archive/html/qemu-devel/2025-07/msg02338.html
v4: https://mail.gnu.org/archive/html/qemu-devel/2025-07/msg02488.html
v5: https://mail.gnu.org/archive/html/qemu-devel/2025-07/msg02689.html
v6: https://mail.gnu.org/archive/html/qemu-devel/2025-07/msg02731.html


This series adds support for all FEAT_MEC registers and cache instructions to
the Arm64 max CPU.

It includes the FEAT_MEC registers and cache maintenance instructions, but does
not modify the translation regimes to support the MECIDs, so no encryption is
supported yet. However, software stacks that rely on FEAT_MEC should work
properly at this point.

I'm currently exploring possibilities to support FEAT_MEC encryption (or
obfuscation, for testing purposes) in QEMU for the various translation regimes
on arm64, hence the encryption part of FEAT_MEC will be contributed later and is
not targeted for QEMU 10.1.


Cheers,
Gustavo

Gustavo Romero (6):
  target/arm: Add the MECEn SCR_EL3 bit
  target/arm: Add FEAT_MEC registers
  target/arm: Add FEAT_SCTLR2
  target/arm: Add FEAT_TCR2
  target/arm: Implement FEAT_MEC cache instructions
  target/arm: Advertise FEAT_MEC in cpu max

 docs/system/arm/emulation.rst |   5 +
 target/arm/cpu-features.h     |  15 +++
 target/arm/cpu.c              |   9 ++
 target/arm/cpu.h              |  27 ++++
 target/arm/helper.c           | 236 ++++++++++++++++++++++++++++++++++
 target/arm/internals.h        |  23 ++++
 target/arm/tcg/cpu64.c        |   7 +-
 7 files changed, 321 insertions(+), 1 deletion(-)

-- 
2.34.1



^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2025-07-14 16:48 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-11 14:08 [PATCH-for-10.1 v7 0/6] target/arm: Add FEAT_MEC to max cpu Gustavo Romero
2025-07-11 14:08 ` [PATCH v7 1/6] target/arm: Add the MECEn SCR_EL3 bit Gustavo Romero
2025-07-11 14:08 ` [PATCH v7 2/6] target/arm: Add FEAT_MEC registers Gustavo Romero
2025-07-11 14:08 ` [PATCH v7 3/6] target/arm: Add FEAT_SCTLR2 Gustavo Romero
     [not found]   ` <09497926-db8a-4475-b361-7e8338597326@linaro.org>
2025-07-13 16:27     ` Richard Henderson
2025-07-14  5:43       ` Pierrick Bouvier
2025-07-11 14:08 ` [PATCH v7 4/6] target/arm: Add FEAT_TCR2 Gustavo Romero
2025-07-13 21:59   ` Richard Henderson
2025-07-14  6:21     ` Pierrick Bouvier
2025-07-14 12:58       ` Richard Henderson
2025-07-14 13:36         ` Gustavo Romero
2025-07-14 15:46         ` Pierrick Bouvier
2025-07-11 14:08 ` [PATCH v7 5/6] target/arm: Implement FEAT_MEC cache instructions Gustavo Romero
2025-07-11 14:08 ` [PATCH v7 6/6] target/arm: Advertise FEAT_MEC in cpu max Gustavo Romero

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).