[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 0/6] target/arm: Implement FEAT_XS
From: |
Peter Maydell |
Subject: |
[PATCH v2 0/6] target/arm: Implement FEAT_XS |
Date: |
Wed, 11 Dec 2024 14:44:34 +0000 |
Based-on: 20241210160452.2427965-1-peter.maydell@linaro.org
("target/arm: Pull TLBI insns out to their own source file")
The FEAT_XS feature was introduced in ARMv8.7: it adds a new memory
attribute XS which indicates that a memory access could take longer
than usual to complete, and also adds instruction variants for TLBI
maintenance and DSB.
For QEMU, we don't have any concept of "really slow memory regions",
so we don't need to implement the XS attribute to do anything
special. So we only need to implement the new TLBI, DSB, etc as doing
the same as the non-XS versions.
This is a respin of Manos' v1 patchseries. In particular:
* patch 1 adds support for the fine-grained-trap handling for
the new TLBI NXS insns
* patches 2 and 3 implement the actual TLB insns in a different
way to v1: we add a new ARM_CP_ADD_TLBI_NXS cpreg type flag
which we can mark the existing TLBI insns with; the core
cpregs machinery will then autogenerate the TLBI NXS cpreg
when FEAT_XS is present. The aim is to avoid having a lot
of mostly-duplicate cpreg structs and arrays.
* patches 4, 5, 6 have only minor changes from v1 to address
issues raised in code review
thanks
-- PMM
Manos Pitsidianakis (3):
target/arm: Add decodetree entry for DSB nXS variant
target/arm: Enable FEAT_XS for the max cpu
tests/tcg/aarch64: add system test for FEAT_XS
Peter Maydell (3):
target/arm: Implement fine-grained-trap handling for FEAT_XS
target/arm: Add ARM_CP_ADD_TLBI_NXS type flag for NXS insns
target/arm: Add ARM_CP_ADD_TLBI_NXS type flag to TLBI insns
docs/system/arm/emulation.rst | 1 +
target/arm/cpregs.h | 80 +++++++-----
target/arm/cpu-features.h | 5 +
target/arm/tcg/a64.decode | 3 +
target/arm/helper.c | 30 ++++-
target/arm/tcg/cpu64.c | 1 +
target/arm/tcg/op_helper.c | 11 +-
target/arm/tcg/tlb-insns.c | 202 ++++++++++++++++++-----------
target/arm/tcg/translate-a64.c | 9 ++
tests/tcg/aarch64/system/feat-xs.c | 27 ++++
10 files changed, 259 insertions(+), 110 deletions(-)
create mode 100644 tests/tcg/aarch64/system/feat-xs.c
--
2.34.1
- [PATCH v2 0/6] target/arm: Implement FEAT_XS,
Peter Maydell <=
- [PATCH v2 1/6] target/arm: Implement fine-grained-trap handling for FEAT_XS, Peter Maydell, 2024/12/11
- [PATCH v2 2/6] target/arm: Add ARM_CP_ADD_TLBI_NXS type flag for NXS insns, Peter Maydell, 2024/12/11
- [PATCH v2 4/6] target/arm: Add decodetree entry for DSB nXS variant, Peter Maydell, 2024/12/11
- [PATCH v2 3/6] target/arm: Add ARM_CP_ADD_TLBI_NXS type flag to TLBI insns, Peter Maydell, 2024/12/11
- [PATCH v2 5/6] target/arm: Enable FEAT_XS for the max cpu, Peter Maydell, 2024/12/11
- [PATCH v2 6/6] tests/tcg/aarch64: add system test for FEAT_XS, Peter Maydell, 2024/12/11