4.3.12. Memory Model Feature Register 1

The ID_MMFR1 characteristics are:

Purpose

Provides information about the implemented memory model and memory management support.

Usage constraints

The ID_MMFR1 is:

  • A read-only register.

  • Common to the Secure and Non-secure states.

  • Only accessible from PL1 or higher.

Configurations

Available in all configurations.

Attributes

See the register summary in Table 4.2.

Figure 4.10 shows the ID_MMFR1 bit assignments.

Figure 4.10. ID_MMFR1 bit assignments

To view this graphic, your browser must support the SVG format. Either install a browser with native support, or install an appropriate plugin such as Adobe SVG Viewer.


Table 4.38 shows the ID_MMFR1 bit assignments.

Table 4.38. ID_MMFR1 bit assignments

BitsNameFunction
[31:28]Branch predictor

Indicates branch predictor management requirements.

0x2

Branch predictor requires flushing on:

  • Enabling or disabling the MMU.

  • Writing new data to instruction locations.

  • Writing new mappings to the translation tables.

  • Any change to the TTBR0, TTBR1, or TTBCR registers without a corresponding change to the FCSE ProcessID or ContextID.

[27:24]L1 cache test and clean

Indicates the supported L1 data cache test and clean operations, for Harvard or unified cache implementation:

0x0

Not supported.

[23:20]L1 unified cache

Indicates the supported entire L1 cache maintenance operations, for a unified cache implementation:

0x0

Not supported.

[19:16]L1 Harvard cache

Indicates the supported entire L1 cache maintenance operations, for a Harvard cache implementation:

0x0

Not supported.

[15:12]L1 unified cache set/way

Indicates the supported L1 cache line maintenance operations by set/way, for a unified cache implementation:

0x0

Not supported.

[11:8]L1 Harvard cache set/way

Indicates the supported L1 cache line maintenance operations by set/way, for a Harvard cache implementation:

0x0

Not supported.

[7:4]L1 unified cache VA

Indicates the supported L1 cache line maintenance operations by MVA, for a unified cache implementation:

0x0

Not supported.

[3:0]L1 Harvard cache VA

Indicates the supported L1 cache line maintenance operations by MVA, for a Harvard cache implementation:

0x0

Not supported.


To access the ID_MMFR1, read the CP15 register with:

MRC p15, 0, <Rt>, c0, c1, 5; Read Memory Model Feature Register 1
Copyright © 2011-2012 ARM. All rights reserved.ARM DDI 0438G
Non-ConfidentialID080412