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.

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

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

classification of external aborts.<br />

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

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

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

a VMSA, see Table B3-11 on page B3-50.<br />

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

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

implementation on page B3-48.<br />

Accessing the IFSR<br />

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

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

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

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

c5, Auxiliary Data <strong>and</strong> Instruction Fault Status Registers (ADFSR <strong>and</strong> AIFSR)<br />

The Auxiliary Data Fault Status Register (ADFSR) <strong>and</strong> the Auxiliary Instruction Fault Status Register<br />

(AIFSR) enable the system to return additional IMPLEMENTATION DEFINED fault status information, see<br />

Auxiliary Fault Status Registers on page B3-53.<br />

The ADFSR <strong>and</strong> AIFSR are:<br />

32-bit read/write registers<br />

accessible only in privileged modes<br />

when the Security Extensions are implemented, Banked registers<br />

introduced in <strong>ARM</strong>v7.<br />

The formats of the ADFSR <strong>and</strong> AIFSR are IMPLEMENTATION DEFINED.<br />

Accessing the ADFSR <strong>and</strong> AIFSR<br />

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

set to c1, <strong>and</strong> set to:<br />

0 for the ADFSR<br />

1 for the AIFSR.<br />

For example:<br />

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

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

MRC p15,0,,c5,c1,1 ; Read CP15 Auxiliary Instruction Fault Status Register<br />

MCR p15,0,,c5,c1,1 ; Write CP15 Auxiliary Instruction Fault Status Register<br />

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

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

Saved successfully!

Ooh no, something went wrong!