According to the MPAM spec [1], the supported architecture versions are
v1.0, v1.1 and v0.1. MPAM versions v0.1 and v1.1 are functionally
identical, but v0.1 additionally supports the FORCE_NS feature.
ID_AA64PR | ID_AA64PR | MPAM Extension | Notes
F0_EL1. | F1_EL1. | Architecture |
MPAM | MPAM_frac | version |
---------------------------------------------------------------------------
0b0000 | 0b0001 | v0.1 | MPAM v0.1 is implemented.
| | | MPAM v0.1 is the same as MPAM v1.1
| | | with FORCE_NS which is
| | | incompatible with MPAM v1.0.
---------------------------------------------------------------------------
0b0001 | 0b0000 | v1.0 | MPAM v1.0 is implemented.
---------------------------------------------------------------------------
0b0001 | 0b0001 | v1.1 | MPAM v1.1 is implemented.
| | | MPAM v1.1 includes all features of
| | | MPAM v1.0.
| | | It must not include FORCE_NS.
[1] https://developer.arm.com/documentation/ddi0598/db/?lang=en
Changes in v2:
- Add new patch 2 to check the MPAM MSC version.
v1: https://lore.kernel.org/all/20260104133434.1887677-1-zengheng4@huawei.com/
Zeng Heng (2):
arm64: cpufeature: Add support for the MPAM v0.1 architecture version
arm_mpam: Update architecture version check for MPAM MSC
arch/arm64/include/asm/cpufeature.h | 7 +++++++
arch/arm64/include/asm/el2_setup.h | 4 +++-
arch/arm64/kernel/cpufeature.c | 15 +++++++++++----
drivers/resctrl/mpam_devices.c | 16 +++++++++++++---
drivers/resctrl/mpam_internal.h | 5 ++++-
5 files changed, 38 insertions(+), 9 deletions(-)
--
2.25.1