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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

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

For details of the reset values of these registers see the register descriptions.<br />

After a reset, software must not rely on the value of any read/write register not included in this list.<br />

B4.6.3 Changes to CP15 registers <strong>and</strong> the memory order model<br />

All changes to CP15 registers that appear in program order after any explicit memory operations are<br />

guaranteed not to affect those memory operations.<br />

Any change to CP15 registers is guaranteed to be visible to subsequent instructions only after one of:<br />

the execution of an ISB instruction<br />

the taking of an exception<br />

the return from an exception.<br />

To guarantee the visibility of changes to some CP15 registers, additional operations might be required, on<br />

a case by case basis, before the ISB instruction, exception or return from exception. These cases are<br />

identified specifically in the definition of the registers.<br />

However, for CP15 register accesses, all MRC <strong>and</strong> MCR instructions to the same register using the same register<br />

number appear to occur in program order relative to each other without context synchronization.<br />

Where a change to the CP15 registers that is not yet guaranteed to be visible has an effect on exception<br />

processing, the following rule applies:<br />

When it is determined that an exception must be taken, any change of state held in CP15 registers<br />

involved in the triggering of the exception <strong>and</strong> that affects the processing of the exception is<br />

guaranteed to take effect before the exception is taken.<br />

Therefore, in the following example, where initially A=1 <strong>and</strong> V=0, the LDR might or might not take a Data<br />

Abort exception due to the unaligned access, but if an exception occurs, the vector used is affected by the V<br />

bit:<br />

MCR p15, R0, c1, c0, 0 ; clears the A bit <strong>and</strong> sets the V bit<br />

LDR R2, [R3] ; unaligned load.<br />

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

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

Saved successfully!

Ooh no, something went wrong!