- MPAM Memory System Component Specification
- SYS-MPAM Architecture Compliance Suite
- Release details
- Documentation & Guides
- SYS-MPAM build steps
- SYS-MPAM run steps
- Application arguments
- Limitations
- Feedback, contributions and support
- License
Memory System Resource Partitioning and Monitoring (MPAM) describes propagation of Partition ID (PARTID) and Performance Monitoring Group (PMG) through the memory system, along with controls that partition performance resources of a memory-system component (MSC).
For more information, download the MPAM System Component Specification.
The SYS-MPAM Architecture Compliance Suite (ACS) is a collection of self-checking, portable C-based tests. This suite provides examples of the invariant behaviors defined in the MPAM System Component specification, enabling verification that these behaviors have been implemented and interpreted correctly.
- Code quality: Beta
- Latest release version: v0.7.0
- Release tag:
v26.03_MPAM_0.7.0 - Specification coverage: MPAM Memory System Component Specification vA.a
- Scope: The compliance suite is not a substitute for design verification.
- Prebuilt binaries:
prebuilt_images/SYS-MPAM/v26.03_MPAM_0.7.0 - For details on tests implemented in this release, see the SYS-MPAM Test Scenario Document.
| SYS-MPAM ACS Version | SYS-MPAM Tag ID | Spec Version |
|---|---|---|
| v0.7.0 | v26.03_MPAM_0.7.0 | MPAM Memory System Component A.a |
| v0.5.0 | v25.03_MPAM_0.5.0_ALP | MPAM Memory System Component A.a |
Follow the Common UEFI build guide to set up the edk2 workspace and Arm toolchain, then run:
source ShellPkg/Application/sysarch-acs/tools/scripts/acsbuild.sh mpam
The flow emits Mpam.efi under Build/Shell/<TOOL_CHAIN_TAG>/AARCH64/ inside
the edk2 workspace.
On a system with a functional USB port:
- Copy
Mpam.efito a FAT-formatted USB device. - Boot to the UEFI shell.
- Refresh mappings with:
map -r. - Switch to the USB filesystem (for example,
fs0:). - Run
Mpam.efiwith the required parameters (see Application arguments). - Capture the UART console output to a log file for analysis.
Example
Shell> Mpam.efi -v 1 -skip 15,20,30 -f mpam_uefi.log
Runs at INFO level, skips tests 15/20/30, and saves the UART log to
mpam_uefi.log.
- Create a FAT image containing
Mpam.efi:mkfs.vfat -C -n HD0 hda.img 31457280sudo mount hda.img /mnt/mpamsudo cp <path to Mpam.efi> /mnt/mpam/sudo umount /mnt/mpam - Attach the image to the virtual platform or emulator using its documented backdoor method.
- Boot to the UEFI shell.
- Refresh filesystem mappings with:
map -r. - Switch to the assigned filesystem (
fs<x>), then runMpam.efi. - Capture UART console output for certification and debug reports.
SYS-MPAM ACS currently supports numeric test and module selectors. See example below:
Shell> Mpam.efi [-v ] [-skip <test_id>] [-t <test_id>] [-m <module_id>] [-f ]
Choose the verbosity level.
- 1 - INFO and above
- 2 - DEBUG and above
- 3 - TEST and above
- 4 - WARN and ERROR
- 5 - ERROR
Skip execution of particular test IDs. For example, -skip 10 skips test 10.
If test ID(s) are set, only those tests run. For example, -t 10 runs test 10.
If module ID(s) are set, only those modules run. For example, -m 100 runs the
Cache module.
Save test output to a file in secondary storage. For example,
-f mpam.log creates mpam.log with test output.
- Some tests related to MSC error handling have been verified on limited platforms. If you encounter failures or errors during ACS runs, please raise an issue.
- Memory Bandwidth Partitioning tests have been implemented but not yet verified on any platform.
- Some Cache partitioning tests have not been validated on silicon-based systems. Users should treat these outcomes as preliminary and perform additional validation before relying on them for compliance.
- Email: support-systemready-acs@arm.com
- GitHub Issues: sysarch-acs issue tracker
- Arm licensees can contact Arm through their partner managers.
SYS-MPAM ACS is distributed under Apache v2.0 License.
Copyright (c) 2025-2026, Arm Limited and Contributors. All rights reserved.