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 />

Fault information is returned using the fault status registers <strong>and</strong> the fault address registers described in CP15<br />

c6, Fault Address registers on page B4-57. For details of how these registers are used see Fault Status <strong>and</strong><br />

Fault Address registers in a PMSA implementation on page B4-18.<br />

c5, Data Fault Status Register (DFSR)<br />

The Data Fault Status Register, DFSR, holds status information about the last data fault.<br />

The DFSR is:<br />

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

accessible only in privileged modes.<br />

The format of the DFSR is:<br />

31 13 12 11 10 9<br />

4 3 0<br />

UNK/SBZP<br />

UNK/SBZP<br />

FS[3:0]<br />

Bits [31:13,9:4]<br />

UNK/SBZP.<br />

ExT, bit [12] External abort type. This bit can be used to provide an IMPLEMENTATION DEFINED<br />

classification of external aborts.<br />

For aborts other than external aborts this bit always returns 0.<br />

WnR, bit [11] Write not Read bit. Indicates whether the abort was caused by a write or a read access:<br />

0 Abort caused by a read access<br />

1 Abort caused by a write access.<br />

FS, bits [10,3:0]<br />

For faults on CP15 cache maintenance operations this bit always returns a value of 1.<br />

Fault status bits. For the valid encodings of these bits in an <strong>ARM</strong>v7-R implementation with<br />

a PMSA, see Table B4-7 on page B4-20.<br />

All encodings not shown in the table are reserved.<br />

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

implementation on page B4-18.<br />

Accessing the DFSR<br />

ExT<br />

WnR<br />

FS[4]<br />

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

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

MRC p15,0,,c5,c0,0 ; Read CP15 Data Fault Status Register<br />

MCR p15,0,,c5,c0,0 ; Write CP15 Data Fault Status Register<br />

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

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

Saved successfully!

Ooh no, something went wrong!