The ID_MMFR3 characteristics are:
Provides information about the memory model and memory management support in AArch32.
- Usage constraints
This register is accessible as follows:
(SCR.NS = 1)
(SCR.NS = 0)
- - RO RO RO RO RO
Must be interpreted with ID_MMFR0, ID_MMFR1, and ID_MMFR2. See:
ID_MMFR3 is architecturally mapped to AArch64 register ID_MMFR3_EL1. See AArch32 Memory Model Feature Register 3.
There is one copy of this register that is used in both Secure and Non-secure states.
ID_MMFR3 is a 32-bit register.
Figure 4.85 shows the ID_MMFR3 bit assignments.
Table 4.176 shows the ID_MMFR3 bit assignments.
Supersections. Indicates support for supersections:
Cached Memory Size. Indicates the size of physical memory supported by the processor caches:
Coherent walk. Indicates whether translation table updates require a clean to the point of unification:
Maintenance broadcast. Indicates whether cache, TLB and branch predictor operations are broadcast:
Branch predictor maintenance. Indicates the supported branch predictor maintenance operations.
Cache maintenance by set/way. Indicates the supported cache maintenance operations by set/way.
Cache maintenance by MVA. Indicates the supported cache maintenance operations by MVA.
[a] Invalidate data cache by MVA operations are treated as clean and invalidate data cache by MVA operations on the executing core. If the operation is broadcast to another core then it is broadcast as an invalidate data cache by MVA operation.
To access the ID_MMFR3:
MRC p15, 0, <Rt>, c0, c1, 7; Read ID_MMFR3 into Rt
Register access is encoded as follows: