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.

B4.4 PMSA memory aborts<br />

Protected Memory System <strong>Architecture</strong> (PMSA)<br />

The mechanisms that cause the <strong>ARM</strong> processor to take an exception because of a memory access are:<br />

MPU fault The MPU detects an access restriction <strong>and</strong> signals the processor.<br />

External abort A memory system component other than the MPU signals an illegal or faulting<br />

external memory access.<br />

The exception taken is a Prefetch Abort exception if either of these occurs synchronously on an instruction<br />

fetch, <strong>and</strong> a Data Abort exception otherwise.<br />

Collectively these mechanisms are called aborts. The different abort mechanisms are described in:<br />

MPU faults<br />

External aborts on page B4-15.<br />

An access that causes an abort is said to be aborted, <strong>and</strong> uses the Fault Address Registers (FARs) <strong>and</strong> Fault<br />

Status Registers (FSRs) to record context information. The FARs <strong>and</strong> FSRs are described in Fault Status<br />

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

Also, a debug exception can cause the processor to take a Prefetch Abort exception or a Data Abort<br />

exception, <strong>and</strong> to update the FARs <strong>and</strong> FSRs. For details see Chapter C4 Debug Exceptions <strong>and</strong> Debug event<br />

prioritization on page C3-43.<br />

B4.4.1 MPU faults<br />

The MPU checks the memory accesses required for instruction fetches <strong>and</strong> for explicit memory accesses:<br />

if an instruction fetch faults it generates a Prefetch Abort exception<br />

if an explicit memory access faults it generates a Data Abort exception.<br />

For more information about Prefetch Abort exceptions <strong>and</strong> Data Abort exceptions see Exceptions on<br />

page B1-30.<br />

MPU faults are always synchronous. For more information, see Terminology for describing exceptions on<br />

page B1-4.<br />

When the MPU generates an abort for a region of memory, no memory access is made if that region is or<br />

could be marked as Strongly-ordered or Device.<br />

The MPU can generate three types of fault, described in the subsections:<br />

Alignment fault on page B4-14<br />

Background fault on page B4-14<br />

Permission fault on page B4-14.<br />

The MPU fault checking sequence on page B4-15 describes the fault checking sequence.<br />

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

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

Saved successfully!

Ooh no, something went wrong!