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

External abort on instruction fetch<br />

An external abort on an instruction fetch can be either synchronous or asynchronous. A synchronous<br />

external abort on an instruction fetch is taken precisely.<br />

An implementation can report the external abort asynchronously from the instruction that it applies to. In<br />

such an implementation these aborts behave essentially as interrupts. They are masked by the CPSR.A bit<br />

when it is set to 1, otherwise they are reported using the Data Abort exception.<br />

External abort on data read or write<br />

Externally generated errors during a data read or write can be either synchronous or asynchronous.<br />

An implementation can report the external abort asynchronously from the instruction that generated the<br />

access. In such an implementation these aborts behave essentially as interrupts. They are masked by the<br />

CPSR.A bit when it is set to 1, otherwise they are reported using the Data Abort exception.<br />

External abort on a translation table walk<br />

An external abort on a translation table walk can be either synchronous or asynchronous. If the external<br />

abort is synchronous then the result is:<br />

a synchronous Prefetch Abort exception if the translation table walk is for an instruction fetch<br />

a synchronous Data Abort exception if the translation table walk is for a data access.<br />

An implementation can report the error in the translation table walk asynchronously from executing the<br />

instruction whose instruction fetch or memory access caused the translation table walk. In such an<br />

implementation these aborts behave essentially as interrupts. They are masked by the CPSR.A bit when it<br />

is set to 1, otherwise they are reported using the Data Abort exception.<br />

Behavior of external aborts on a translation table walk caused by a VA to PA<br />

translation<br />

The VA to PA translation operations described in CP15 c7, Virtual Address to Physical Address translation<br />

operations on page B3-130 require translation table walks. An external abort can occur in the translation<br />

table walk, as described in External abort on a translation table walk. The abort generates a Data Abort<br />

exception, <strong>and</strong> can be synchronous or asynchronous.<br />

Parity error reporting<br />

The <strong>ARM</strong> architecture supports the reporting of both synchronous <strong>and</strong> asynchronous parity errors from the<br />

cache systems. It is IMPLEMENTATION DEFINED what parity errors in the cache systems, if any, result in<br />

synchronous or asynchronous parity errors.<br />

A fault status code is defined for reporting parity errors, see Fault Status <strong>and</strong> Fault Address registers in a<br />

VMSA implementation on page B3-48. However when parity error reporting is implemented it is<br />

IMPLEMENTATION DEFINED whether the assigned fault status code or another appropriate encoding is used<br />

to report parity errors.<br />

B3-46 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!