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.

CP15 c7, Data <strong>and</strong> Instruction Barrier operations<br />

Virtual Memory System <strong>Architecture</strong> (VMSA)<br />

<strong>ARM</strong>v6 includes two CP15 c7 operations to perform Data Barrier operations, <strong>and</strong> another operation to<br />

perform an Instruction Barrier operation. In <strong>ARM</strong>v7:<br />

The <strong>ARM</strong> <strong>and</strong> Thumb instruction sets include instructions to perform the barrier operations, that can<br />

be executed in all modes, see Memory barriers on page A3-47.<br />

The CP15 c7 operations are defined as write-only operations, that can be executed in all modes. The<br />

three operations are described in:<br />

— Instruction Synchronization Barrier operation<br />

— Data Synchronization Barrier operation<br />

— Data Memory Barrier operation.<br />

The value in the register Rt specified by the MCR instruction used to perform one of these operations<br />

is ignored. You do not have to write a value to the register before issuing the MCR instruction.<br />

In <strong>ARM</strong>v7 using these CP15 c7 operations is deprecated. Use the ISB, DSB, <strong>and</strong> DMB instructions<br />

instead.<br />

Note<br />

In <strong>ARM</strong>v6 <strong>and</strong> earlier documentation, the Instruction Synchronization Barrier operation is referred<br />

to as a Prefetch Flush (PFF).<br />

In versions of the <strong>ARM</strong> architecture before <strong>ARM</strong>v6 the Data Synchronization Barrier operation is<br />

described as a Data Write Barrier (DWB).<br />

Instruction Synchronization Barrier operation<br />

In <strong>ARM</strong>v7, the ISB instruction is used to perform an Instruction Synchronization Barrier, see ISB on<br />

page A8-102.<br />

The deprecated CP15 c7 encoding for an Instruction Synchronization Barrier is set to 0, set to<br />

c7, set to c5, <strong>and</strong> set to 4.<br />

Data Synchronization Barrier operation<br />

In <strong>ARM</strong>v7, the DSB instruction is used to perform a Data Synchronization Barrier, see DSB on page A8-92.<br />

The deprecated CP15 c7 encoding for a Data Synchronization Barrier is set to 0, set to c7, <br />

set to c10, <strong>and</strong> set to 4. This operation performs the full system barrier performed by the DSB<br />

instruction.<br />

Data Memory Barrier operation<br />

In <strong>ARM</strong>v7, the DMB instruction is used to perform a Data Memory Barrier, see DMB on page A8-90.<br />

The deprecated CP15 c7 encoding for a Data Memory Barrier is set to 0, set to c7, set to<br />

c10, <strong>and</strong> set to 5. This operation performs the full system barrier performed by the DMB instruction.<br />

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

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

Saved successfully!

Ooh no, something went wrong!