05.02.2013 Views

ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition

ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition

ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

Unallocated CP15 encodings<br />

Protected Memory System <strong>Architecture</strong> (PMSA)<br />

When MCR <strong>and</strong> MRC instructions perform CP15 operations, the value for the instruction is the major<br />

register specifier for the CP15 space. Accesses to unallocated major registers are UNDEFINED. For the<br />

<strong>ARM</strong>v7-R <strong>Architecture</strong>, this means that accesses with = {c2-c4, c8, c10, c12, c14} are UNDEFINED.<br />

In an allocated CP15 major register specifier, MCR <strong>and</strong> MRC accesses to all unallocated encodings are<br />

UNPREDICTABLE for privileged accesses. For the <strong>ARM</strong>v7-A architecture this means that privileged MCR <strong>and</strong><br />

MRC accesses with != {c2-c4, c8, c10, c12, c14} but with an unallocated combination of , <br />

<strong>and</strong> values, are UNPREDICTABLE. For != {c2-c4, c8, c10, c12, c14}, Figure B4-3 on page B4-23<br />

shows all allocated allocations of , <strong>and</strong> . A privileged access using any combination not<br />

show in the figure is UNPREDICTABLE.<br />

Note<br />

As shown in Figure B4-3 on page B4-23, accesses to unallocated principal ID registers map onto the Main<br />

ID Register. These are accesses with = c0, =0, = c0, <strong>and</strong> = {4, 6, 7}.<br />

Rules for MCR <strong>and</strong> MRC accesses to CP15 registers<br />

All MCR operations from the PC are UNPREDICTABLE for all coprocessors, including for CP15.<br />

All MRC operations to APSR_nzcv are UNPREDICTABLE for CP15.<br />

The following accesses are UNPREDICTABLE:<br />

an MCR access to an encoding for which no write behavior is defined in any circumstances<br />

an MRC access to an encoding for which no read behavior is defined in any circumstances.<br />

Except for CP15 encoding that are accessible in User mode, all MCR <strong>and</strong> MRC accesses from User mode are<br />

UNDEFINED. This applies to all User mode accesses to unallocated CP15 encodings. Individual register<br />

descriptions, <strong>and</strong> the summaries of the CP15 major registers, show the CP15 encodings that are accessible<br />

in User mode.<br />

Some individual registers can be made inaccessible by setting configuration bits, possibly including<br />

IMPLEMENTATION DEFINED configuration bits, to disable access to the register. The effects of the<br />

architecturally-defined configuration bits are defined individually in this manual. Typically, setting a<br />

configuration bit to disable access to a register results in the register becoming UNDEFINED for MRC <strong>and</strong> MCR<br />

accesses.<br />

Reset behavior of CP15 registers<br />

After a reset, only a limited subset of the processor state is guaranteed to be set to defined values. On reset,<br />

the PMSAv7 architecture requires that the following CP15 registers are set to defined values:<br />

the SCTLR, see c1, System Control Register (SCTLR) on page B4-45<br />

the CPACR, see c1, Coprocessor Access Control Register (CPACR) on page B4-51<br />

the DRSR, see c6, Data Region Size <strong>and</strong> Enable Register (DRSR) on page B4-62<br />

the IRSR, if implemented, see c6, Instruction Region Size <strong>and</strong> Enable Register (IRSR) on page B4-63.<br />

<strong>ARM</strong> DDI 0406B Copyright © 1996-1998, 2000, 2004-2008 <strong>ARM</strong> Limited. All rights reserved. B4-27

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

Saved successfully!

Ooh no, something went wrong!