The purpose of the Domain Access Control Register is to hold the access permissions for a maximum of 16 domains, D15 to D0.
The Domain Access Control Register is:
in CP15 c3
a 32-bit read/write register
accessible in privileged mode only.
Figure 3.32 shows the two-bit domain access permission fields of the register.
Table 3.59 shows how the bit values correspond with the Domain Access Control Register functions.
|Bit range||Field name||Function|
The purpose of the fields D15-D0 is to define the access permissions for each of the 16 domains. These domains can be either sections, large pages or small pages of memory. Table 3.59 shows the encoding used for the domain access control fields.
[b] n is the Domain number in the range 0 to 15.
Table 3.59 shows the encoding used for the bit fields in the Domain Access Control Register.
|b00||No access||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.|
Table 3.60 shows the results of attempted accesses to the Domain Access Control Register for each mode.
|Privileged read||Privileged write||User read or write|
|Data read||Data write||Undefined Instruction exception|
You can access the Domain Access Control Register by reading or writing CP15 with:
Opcode_1 set to 0
CRn set to c3
CRm set to c0
Opcode_2 set to 0.
MRC p15, 0, <Rd>, c3, c0, 0 ; Read Domain Access Control Register
MCR p15, 0, <Rd>, c3, c0, 0 ; Write Domain Access Control Register