6.11.2. ARMv6 page table translation subpage AP bits disabled

When the CP15 Control Register c1 Bit 23 is set to 1 in the corresponding world, the subpage AP bits are disabled and the page tables have support for ARMv6 MMU features. Four new page table bits are added to support these features:

All ARMv6 page table mappings support the TEX field.

ARMv6 page table format

With the sub-pages enabled or not, all first level descriptors have been enhanced with the addition of the NS Attribute bit to enable the support of TrustZone.

Figure 6.7 shows the format of an ARMv6 first-level descriptor when subpages are disabled.

Figure 6.7. ARMv6 first-level descriptor formats with subpages disabled


If the P bit is supported and set for the memory region, it indicates to the system memory controller that this memory region has ECC enabled. ARM1176JZ-S processors do not support the P bit. In addition to the invalid translation, bits [1:0] = b00, translations for the reserved entry, bits [1:0] = b11, result in a translation fault.

As shown in Figure 6.7, bits [1:0] of a level 1 page table entry determine the type of the entry:

Bits [1:0] == b00

Translation fault.

Bits [1:0] == b01

The entry points to a second-level page table, called a Coarse page table. Figure 6.8 shows the formats of the possible entries in the Coarse page table.

Bits [1:0] == b10

The entry points to a either a 1MB Section of memory or a 16MB Supersection of memory. Bit [18] of the descriptor selects between a Section and a Supersection. For details of supersections see Supersections.

Note

You must repeat any Supersection description in 16 consecutive page table locations, with the first description occurring on a 16-word boundary. For more information see the ARM Architecture Reference Manual.

Bits [1:0] == b11

Reserved.

Figure 6.8 shows the format of an ARMv6 second-level descriptor.

Figure 6.8. ARMv6 second-level descriptor format


As shown in Figure 6.8, bits [1:0] of a second-level descriptor determine the type of the descriptor:

Bits [1:0] == b00

Translation fault.

Bits [1:0] == b01

The entry points to a 64KB Large page in memory.

Note

You must repeat any Large page description in 16 consecutive page table locations, with the first description occurring on a 16-word boundary. For more information see the ARM Architecture Reference Manual.

Bits [1:0] == b1x

The entry points to a 4KB Extended small page in memory.

Bit [0] of the entry is the XN bit for the entry.

Figure 6.9 shows an overview of the section, supersection, and page translation process using ARMv6 descriptors.

Figure 6.9. ARMv6 section, supersection, and page translation


Copyright © 2004-2009 ARM Limited. All rights reserved.ARM DDI 0333H
Non-Confidential