← Home

MPAMCTL_EL3

MPAM Control Register (EL3)

Controls the generation of MPAM information for memory requests when executing at EL3 and at lower ELs.

Configuration

AArch64 System register MPAMCTL_EL3 bit [63] is architecturally mapped to AArch64 System register MPAMCTL_EL2[63] when EL2 is implemented.

AArch64 System register MPAMCTL_EL3 bit [63] is architecturally mapped to AArch64 System register MPAMCTL_EL1[63].

This register is present only when FEAT_MPAMv2 is implemented. Otherwise, direct accesses to MPAMCTL_EL3 are UNDEFINED.

Attributes

MPAMCTL_EL3 is a 64-bit register.

Field descriptions

6362616059585756555453525150494847464544434241403938373635343332
313029282726252423222120191817161514131211109876543210
MPAMENnTRAPLOWERRES0EN_ALT_IPMGEN_ALT_IPARTIDRES0
RES0

MPAMEN, bit [63]:

MPAM Enable. MPAM is enabled when MPAMEN == 1. When disabled, all PARTIDs and PMGs are output as their default value in the corresponding ID space.

MPAMENMeaning
0b0

The default PARTID and default PMG are output in MPAM information when executing at any ELn.

0b1

MPAM information is output based on the MPAMn_ELx register for ELn according the MPAM configuration.

The reset behavior of this field is:

nTRAPLOWER, bit [62]:

Trap direct accesses to MPAM System registers that are not UNDEFINED from all ELn lower than EL3.

nTRAPLOWERMeaning
0b0

Force direct accesses of MPAM System registers to trap to EL3.

0b1

Do not force trapping of direct accesses of MPAM System registers to EL3.

This trap is higher priority than any of the traps controlled by MPAM _EL2 registers.

The reset behavior of this field is:

Bits [61:53]:

Reserved, RES0.

EN_ALT_IPMG, bit [52] when MPAMIDR_EL1.HAS_INSTR_ALT_ID == '1':

Enables use of the alternative PMG configured in MPAM3_EL3.altPMG for instruction fetch accesses originating at EL3.

EN_ALT_IPMGMeaning
0b0

The alternative PMG configured in MPAM3_EL3.altPMG is not used for generating MPAM information for instruction fetch accesses.

0b1

The alternative PMG configured in MPAM3_EL3.altPMG is used for generating MPAM information for instruction fetch accesses.

The reset behavior of this field is:

Otherwise:

Reserved, RES0.

EN_ALT_IPARTID, bit [51] when MPAMIDR_EL1.HAS_INSTR_ALT_ID == '1':

Enables use of the alternative PARTID configured in MPAM3_EL3.altPARTID for instruction fetch accesses originating at EL3.

EN_ALT_IPARTIDMeaning
0b0

The alternative PARTID configured in MPAM3_EL3.altPARTID is not used for generating MPAM information for instruction fetch accesses.

0b1

The alternative PARTID configured in MPAM3_EL3.altPARTID is used for generating MPAM information for instruction fetch accesses.

The reset behavior of this field is:

Otherwise:

Reserved, RES0.

Bits [50:0]:

Reserved, RES0.

Access Instructions

Accesses to this register use the following encodings in the System register encoding space:

MRS <Xt>, MPAMCTL_EL3

(op0 = 0b11, op1 = 0b110, CRn = 0b1010, CRm = 0b0101, op2 = 0b010)

if !IsFeatureImplemented(FEAT_MPAMv2) then Undefined(); elsif PSTATE.EL == EL0 then Undefined(); elsif PSTATE.EL == EL1 then Undefined(); elsif PSTATE.EL == EL2 then Undefined(); elsif PSTATE.EL == EL3 then X{64}(t) = MPAMCTL_EL3(); end;

MSR MPAMCTL_EL3, <Xt>

(op0 = 0b11, op1 = 0b110, CRn = 0b1010, CRm = 0b0101, op2 = 0b010)

if !IsFeatureImplemented(FEAT_MPAMv2) then Undefined(); elsif PSTATE.EL == EL0 then Undefined(); elsif PSTATE.EL == EL1 then Undefined(); elsif PSTATE.EL == EL2 then Undefined(); elsif PSTATE.EL == EL3 then MPAMCTL_EL3() = X{64}(t); end;


Version 2026.06 — Copyright © 2010-2026 Arm Limited or its affiliates.

This site is provided as a community resource and is NOT affiliated with nor endorsed by Arm Limited.