System Control Coprocessor
ARM DDI 0301H
Copyright © 2004-2009 ARM Limited. All rights reserved.
3-62
ID012310
Non-Confidential, Unrestricted Access
Table 3-58 lists the results of attempted access for each mode.
To use the Translation Table Base Control Register read or write CP15 with:
•
Opcode_1 set to 0
•
CRn set to c2
•
CRm set to c0
•
Opcode_2 set to 2.
For example:
MRC p15, 0, <Rd>, c2, c0, 2
; Read Translation Table Base Control Register
MCR p15, 0, <Rd>, c2, c0, 2
; Write Translation Table Base Control Register
A translation table base register is selected like this:
•
If N is set to 0, always use Translation Table Base Register 0. This is the default case at
reset. It is backwards compatible with ARMv5 and earlier processors.
•
If N is set greater than 0, and bits [31:32-N] of the VA are all 0, use Translation Table Base
Register 0, otherwise use Translation Table Base Register 1. N must be in the range 0-7.
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.
Table 3-58 Results of access to the Translation Table Base Control Register
Secure Privileged
Non-secure Privileged
User
Read
Write
Read
Write
Secure data
Secure data
Non-secure data
Non-secure data
Undefined exception