3.2.16. c3, Domain Access Control Register

The purpose of the Domain Access Control Register is to hold the access permissions for a maximum of 16 domains.

Table 3.59 lists the purposes of the individual bits in the Domain Access Control Register.

The Domain Access Control Register is:

Figure 3.35 shows the bit arrangement of the Domain Access Control Register.

Figure 3.35. Domain Access Control Register format


Table 3.59 lists how the bit values correspond with the Domain Access Control Register functions.

Table 3.59. Domain Access Control Register bit functions

BitsField nameFunction
-D<n>[a]

The purpose of the fields D15-D0 in the register is to define the access permissions for each one of the 16 domains. These domains can be either sections, large pages or small pages of memory:

b00 = No access, reset value. Any access generates a domain fault.

b01 = Client. Accesses are checked against the access permission bits in the TLB entry.

b10 = Reserved. Any access generates a domain fault.

b11 = Manager. Accesses are not checked against the access permission bits in the TLB entry, so a permission fault cannot be generated.

[a] n is the Domain number in the range between 0 and 15


Attempts to write to this register in Secure Privileged mode when CP15SDISABLE is HIGH result in an Undefined exception, see TrustZone write access disable.

Table 3.60 lists the results of attempted access for each mode.

Table 3.60. Results of access to the Domain Access Control Register

Secure PrivilegedNon-secure PrivilegedUser
ReadWriteReadWrite
Secure dataSecure dataNon-secure dataNon-secure dataUndefined exception

To use the Domain Access Control Register read or write CP15 c3 with:

For example:

MRC p15, 0, <Rd>, c3, c0, 0    ; Read Domain Access Control Register
MCR p15, 0, <Rd>, c3, c0, 0    ; Write Domain Access Control Register
Copyright © 2004-2009 ARM Limited. All rights reserved.ARM DDI 0301H
Non-Confidential, Unrestricted AccessID012310