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.

Accessing the DFAR<br />

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

To access the DFAR you read or write the CP15 registers with set to 0, set to c6, set to<br />

c0, <strong>and</strong> set to 0. For example:<br />

MRC p15,0,,c6,c0,0 ; Read CP15 Data Fault Address Register<br />

MCR p15,0,,c6,c0,0 ; Write CP15 Data Fault Address Register<br />

c6, Instruction Fault Address Register (IFAR)<br />

The Instruction Fault Address Register, IFAR, holds the MVA of the faulting access that caused a<br />

synchronous Prefetch Abort exception.<br />

The IFAR is:<br />

a 32-bit read/write register<br />

accessible only in privileged modes<br />

when the Security Extensions are implemented, a Banked register.<br />

The format of the IFAR is:<br />

31 0<br />

MVA of faulting address of synchronous Prefetch Abort exception<br />

For information about using the IFAR see Fault Status <strong>and</strong> Fault Address registers in a VMSA<br />

implementation on page B3-48.<br />

A debugger can write to the IFAR to restore its value.<br />

Accessing the IFAR<br />

To access the IFAR you read or write the CP15 registers with set to 0, set to c6, set to c0,<br />

<strong>and</strong> set to 2. For example:<br />

MRC p15,0,,c6,c0,2 ; Read CP15 Instruction Fault Address Register<br />

MCR p15,0,,c6,c0,2 ; Write CP15 Instruction Fault Address Register<br />

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

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

Saved successfully!

Ooh no, something went wrong!