The MPAMCFG_PART_SEL characteristics are:
Selects a partition ID to configure.
MPAMCFG_PART_SEL_s selects a Secure PARTID to configure. MPAMCFG_PART_SEL_ns selects a Non-secure PARTID to configure. MPAMCFG_PART_SEL_rt selects a Root PARTID to configure. MPAMCFG_PART_SEL_rl selects a Realm PARTID to configure.
After setting this register with a PARTID, software (usually a hypervisor) can perform a series of accesses to MPAMCFG registers to configure parameters for MPAM resource controls to use when requests have that PARTID.
The power domain of MPAMCFG_PART_SEL is IMPLEMENTATION DEFINED.
This register is present only when FEAT_MPAM is implemented and (MPAMF_IDR.HAS_CCAP_PART == 1, or MPAMF_IDR.HAS_CPOR_PART == 1, or MPAMF_IDR.HAS_MBW_PART == 1, or MPAMF_IDR.HAS_PRI_PART == 1, or MPAMF_IDR.HAS_PARTID_NRW == 1, or (MPAMF_IDR.EXT == 0 and MPAMF_IDR.HAS_IMPL_IDR == 1), or (MPAMF_IDR.EXT == 1, MPAMF_IDR.HAS_IMPL_IDR == 1, and MPAMF_IDR.NO_IMPL_PART == 0)). Otherwise, direct accesses to MPAMCFG_PART_SEL are RES0.
The power and reset domain of each MSC component is specific to that component.
MPAMCFG_PART_SEL is a 32-bit register.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RES0 | RIS | RES0 | DEFAULT_PARTID | INGRESS_TL | INTERNAL | PARTID_SEL |
Reserved, RES0.
Resource Instance Selector. RIS selects one resource to configure through MPAMCFG registers and describe with MPAMF ID registers.
Reserved, RES0.
Reserved, RES0.
Disables PARTID selection and instead configures the default resource control behavior.
DEFAULT_PARTID | Meaning |
---|---|
0b0 |
PARTID_SEL is interpreted as a request PARTID. |
0b1 |
PARTID_SEL is ignored and any access to MPAMCFG registers is intended to be for configuring the default resource control behaviour. |
Reserved, RES0.
Indicates that PARTID_SEL is used for ingress translation.
INGRESS_TL | Meaning |
---|---|
0b0 |
PARTID_SEL is interpreted as a request PARTID for configuring MSC controls. |
0b1 |
PARTID_SEL is interpreted as an untranslated ingress request PARTID to be used for configuring direct translations. |
When MPAMF_IDR.HAS_IN_TL == 0, access to this field is RAZ/WI.
Reserved, RES0.
Internal PARTID.
If MPAMF_IDR.HAS_PARTID_NRW == 0b1:
INTERNAL | Meaning |
---|---|
0b0 |
PARTID_SEL is interpreted as a request PARTID and ignored except for use with MPAMCFG_INTPARTID register access. |
0b1 |
PARTID_SEL is interpreted as an internal PARTID and used for access to MPAMCFG control settings except for MPAMCFG_INTPARTID. |
If PARTID narrowing is implemented as indicated by MPAMF_IDR.HAS_PARTID_NRW = 1, when accessing other MPAMCFG registers the value of the MPAMCFG_PART_SEL.INTERNAL bit is checked for these conditions:
When the MPAMCFG_INTPARTID register is read or written, if the value of MPAMCFG_PART_SEL.INTERNAL is not 0, an Unexpected_INTERNAL error is set in MPAMF_ESR.
When an MPAMCFG register other than MPAMCFG_INTPARTID is read or written, if the value of MPAMCFG_PART_SEL.INTERNAL is not 1, MPAMF_ESR is set to indicate an intPARTID_Range error.
In either error case listed here, the value returned by a read operation is UNPREDICTABLE, and the control settings are not affected by a write.
When MPAMF_IDR.HAS_PARTID_NRW == 0, access to this field is RAZ/WI.
Selects the partition ID to configure.
Reads and writes to other MPAMCFG registers are indexed by PARTID_SEL and by the NS bit used to access MPAMCFG_PART_SEL to access the configuration for a single partition.
This register is within the MPAM feature page memory frames. In a system that supports Secure and Non-secure memory maps, there must be both Secure and Non-secure MPAM feature pages.
MPAMCFG_PART_SEL_s must only be accessible from the Secure MPAM feature page. MPAMCFG_PART_SEL_ns must only be accessible from the Non-secure MPAM feature page.
MPAMCFG_PART_SEL_s and MPAMCFG_PART_SEL_ns must be separate registers. The Secure instance (MPAMCFG_PART_SEL_s) accesses the PARTID selector used for Secure PARTIDs, and the Non-secure instance (MPAMCFG_PART_SEL_ns) accesses the PARTID selector used for Non-secure PARTIDs.
Component | Frame | Offset | Instance |
---|---|---|---|
MPAM | MPAMF_BASE_s | 0x0100 | MPAMCFG_PART_SEL_s |
Accesses to this register are RW.
Component | Frame | Offset | Instance |
---|---|---|---|
MPAM | MPAMF_BASE_ns | 0x0100 | MPAMCFG_PART_SEL_ns |
Accesses to this register are RW.
Component | Frame | Offset | Instance |
---|---|---|---|
MPAM | MPAMF_BASE_rt | 0x0100 | MPAMCFG_PART_SEL_rt |
When FEAT_RME is implemented, accesses to this register are RW.
Component | Frame | Offset | Instance |
---|---|---|---|
MPAM | MPAMF_BASE_rl | 0x0100 | MPAMCFG_PART_SEL_rl |
When FEAT_RME is implemented, accesses to this register are RW.
15/12/2024 22:27; 5e0a212688c6bd7aee92394b6f5e491b4d0fee1d
Copyright © 2010-2024 Arm Limited or its affiliates. All rights reserved. This document is Non-Confidential.