System Control Coprocessor
ARM DDI 0301H Copyright © 2004-2009 ARM Limited. All rights reserved. 3-107
ID012310 Non-Confidential, Unrestricted Access
Access in the Non-secure world depends on the DMA bit, see c1, Non-Secure Access Control
Register on page 3-55. The processor can only access these registers in Privileged modes.
Table 3-106 lists the results of attempted access for each mode.
To access the DMA identification and status registers in a privileged mode read CP15 with:
• Opcode_1 set to 0
• CRn set to c11
• CRm set to c0
• Opcode_2 set to:
— 0, Present
— 1, Queued
— 2, Running
— 3, Interrupting.
For example:
MRC p15, 0, <Rd>, c11, c0, 0 ; Read DMA Identification and Status Register present
MRC p15, 0, <Rd>, c11, c0, 1 ; Read DMA Identification and Status Register queued
MRC p15, 0, <Rd>, c11, c0, 2 ; Read DMA Identification and Status Register running
MRC p15, 0, <Rd>, c11, c0, 3 ; Read DMA Identification and Status Register interrupting.
3.2.34 c11, DMA User Accessibility Register
The purpose of the DMA User Accessibility Register is to determine if a User mode process can
access the registers for each channel.
The DMA User Accessibility Register is:
• in CP15 c11
• a 32-bit read/write register common to the Secure and Non-secure worlds
• accessible in privileged modes only.
Figure 3-60 on page 3-108 shows the bit arrangement for the DMA User Accessibility Register.
2 Indicates channel running:
0 = the channel is not Running
1 = the channel is Running.
3 Indicates channel interrupting:
0 = the channel is not Interrupting
1 = the channel is Interrupting, through completion or an error.
4-7 Reserved. Results in an Undefined exception.
Table 3-105 DMA Identification and Status Register functions (continued)
Opcode_2 Function
Table 3-106 Results of access to the DMA identification and status registers
DMA bit
Secure Privileged Non-secure Privileged
User
Read Write Read Write
0 Data Undefined exception Undefined exception Undefined exception Undefined exception
1 Data Undefined exception Data Undefined exception Undefined exception