diff options
| author | Fuad Tabba <fuad.tabba@linux.dev> | 2026-09-08 15:56:22 +0100 |
|---|---|---|
| committer | Catalin Marinas <catalin.marinas@arm.com> | 2026-10-01 17:00:43 +0100 |
| commit | eb0fde98fee407118bfcb10e38400494e0699201 (patch) | |
| tree | de754d55ec474fa68527581f86e119aa9b4ff334 /tools/perf/scripts/python/flamegraph.py | |
| parent | 93f51579e7df248780214094418f205253383cc5 (diff) | |
arm64: mpam: Document when to set arm64.nompam
arm64.nompam skips the MPAM2_EL2 and MPAMHCR_EL2 writes in
finalise_el2_state and leaves the ARM64_MPAM cpucap unset. Where EL3
firmware has cleared MPAM3_EL3.TRAPLOWER, the EL2 trap controls are
left unwritten, at reset values that are UNKNOWN, and KVM still hides
MPAM from the guest but no longer enables the traps that stop a guest
from using it. KVM never saves or restores MPAM0_EL1, MPAM1_EL1 and
MPAMSM_EL1, so what one guest writes reaches the next guest and the
host. Nor can the kernel make the EL2 writes unconditionally: they trap
to EL3 on the firmware the option exists for, and TRAPLOWER cannot be
read below EL3.
Say so in mpam.rst, and add the rule and a pointer to the
kernel-parameters entry.
Suggested-by: Ben Horgan <ben.horgan@arm.com>
Link: https://lore.kernel.org/all/CA+EHjTxeWxZiuSmnKLGLxTBXP4oJT7-LuffbPAyCSZZ5TW=5Ew@mail.gmail.com/
Reviewed-by: Bradley Morgan <brads@mainlining.org>
Signed-off-by: Fuad Tabba <fuad.tabba@linux.dev>
Reviewed-by: Ben Horgan <ben.horgan@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Diffstat (limited to 'tools/perf/scripts/python/flamegraph.py')
0 files changed, 0 insertions, 0 deletions
