System Control Coprocessor
ARM DDI 0301H
Copyright © 2004-2009 ARM Limited. All rights reserved.
3-59
ID012310
Non-Confidential, Unrestricted Access
•
Opcode_2 set to 0.
For example:
MRC p15, 0, <Rd>, c2, c0, 0
; Read Translation Table Base Register 0
MCR p15, 0, <Rd>, c2, c0, 0
; Write Translation Table Base Register 0
Note
The ARM1176JZF-S processor cannot page table walk from level one cache. Therefore, if C is
set to 1, to ensure coherency, you must either store page tables in Inner write-through memory
or, if in Inner write-back, you must clean the appropriate cache entries after modification so that
the mechanism for the hardware page table walks sees them.
3.2.14
c2, Translation Table Base Register 1
The purpose of the Translation Table Base Register 1 is to hold the physical address of the
first-level table. The expected use of the Translation Table Base Register 1 is for OS and I/O
addresses.
Table 3-55 lists the purposes of the individual bits in the Translation Table Base Register 1.
The Translation Table Base Register 1 is:
•
in CP15 c2
•
a 32 bit read/write register banked for Secure and Non-secure worlds
•
accessible in privileged modes only.
Figure 3-33 shows the bit arrangement for the Translation Table Base Register 1.
Figure 3-33 Translation Table Base Register 1 format
Table 3-55 lists how the bit values correspond with the Translation Table Base Register 1
functions.
Translation table base 1
31
14 13
S C
P
0
UNP/SBZ
1
2
3
RGN
4
5
Table 3-55 Translation Table Base Register 1 bit functions
Bits
Field name
Function
[31:14]
Translation table base 1
Holds the translation table base address, the physical address of the first level
translation table. The reset value is 0.
[13:5]
-
UNP/SBZ.
[4:3]
RGN
Indicates the Outer cacheable attributes for page table walking:
b00 = Outer Noncacheable, reset value
b01 = Write-back, Write Allocate
b10 = Write-through, No Allocate on Write
b11 = Write-back, No Allocate on Write.