09.12.2012 Views

Cortex-A8 Technical Reference Manual - ARM Information Center

Cortex-A8 Technical Reference Manual - ARM Information Center

Cortex-A8 Technical Reference Manual - ARM Information Center

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

3.2.27 c1, Coprocessor Access Control Register<br />

System Control Coprocessor<br />

The purpose of the Coprocessor Access Control Register is to set access rights for the<br />

coprocessors CP0 through CP13. This register has no effect on access to CP14, the debug<br />

control coprocessor, or CP15, the system control coprocessor. This register also provides a<br />

means for software to determine if any particular coprocessor, CP0-CP13, exists in the system.<br />

The Coprocessor Access Control Register is:<br />

• a read/write register common to Secure and Nonsecure states<br />

• accessible in privileged modes only.<br />

Figure 3-22 shows the bit arrangement of the Coprocessor Access Control Register.<br />

Reserved<br />

Figure 3-22 Coprocessor Access Control Register format<br />

Table 3-51 shows how the bit values correspond with the Coprocessor Access Control Register<br />

functions.<br />

Bits Field Function<br />

31 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />

[31:28] - Reserved. UNP, SBZP.<br />

cp13 cp12 cp11 cp10 cp9 cp8 cp7 cp6 cp5 cp4 cp3 cp2 cp1 cp0<br />

Table 3-51 Coprocessor Access Control Register bit functions<br />

- cp a Defines access permissions for each coprocessor. Access denied is the reset condition and is the<br />

behavior for nonexistent coprocessors:<br />

b00 = Access denied, reset value. Attempted access generates an Undefined Instruction exception.<br />

b01 = Privileged mode access only.<br />

b10 = Reserved.<br />

b11 = Privileged and User mode access.<br />

a. n is the coprocessor number between 0 and 13.<br />

Nonsecure<br />

Access Control<br />

Register bit<br />

Access to coprocessors in the Nonsecure state depends on the permissions set in the c1,<br />

Nonsecure Access Control Register on page 3-56.<br />

Attempts to read or write the Coprocessor Access Control Register access bits depend on the<br />

corresponding bit for each coprocessor in c1, Nonsecure Access Control Register on page 3-56.<br />

Table 3-52 shows the results of attempted access to coprocessor access bits for each mode.<br />

Table 3-52 Results of access to the Coprocessor Access Control Register a<br />

Secure privileged Nonsecure privileged Secure User Nonsecure User<br />

Read Write Read Write Read Write Read Write<br />

0 Data Data b00 Ignored<br />

1 Data Data Data Data<br />

Undefined Undefined<br />

a. An entry of Undefined in the table means that the access gives an Undefined Instruction exception when the<br />

coprocessor instruction is executed.<br />

To access the Coprocessor Access Control Register, read or write CP15 with:<br />

MRC p15, 0, , c1, c0, 2 ; Read Coprocessor Access Control Register<br />

<strong>ARM</strong> DDI 0344K Copyright © 2006-2010 <strong>ARM</strong> Limited. All rights reserved. 3-52<br />

ID060510 Non-Confidential

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!