09.12.2012 Views

Cortex-A8 Technical Reference Manual - ARM Information Center

Cortex-A8 Technical Reference Manual - ARM Information Center

Cortex-A8 Technical Reference Manual - ARM Information Center

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.

Programmers Model<br />

After dealing with the cause of the abort, the handler executes the following instruction<br />

irrespective of the processor operating state:<br />

SUBS PC,R14_abt,#4<br />

This action restores both the PC and the CPSR, and retries the aborted instruction.<br />

Data abort<br />

A data abort is associated with a data access as opposed to an instruction fetch.<br />

Data aborts on the processor can be precise or imprecise.<br />

Internal precise data aborts are those generated by data load or store accesses that the MMU<br />

checks:<br />

• alignment faults<br />

• translation faults<br />

• access bit faults<br />

• domain faults<br />

• permission faults.<br />

Note<br />

Instruction memory system operations performed with the system control coprocessors can also<br />

generate internal precise data aborts.<br />

Externally generated data aborts can be precise or imprecise. Two separate FSR encodings<br />

indicate if the external abort is precise or imprecise:<br />

• all external aborts to loads or stores to strongly ordered memory are precise<br />

• all external aborts to loads to the Program Counter or the CSPR are precise<br />

• all external aborts on the load part of a SWP are precise<br />

• all other external aborts are imprecise.<br />

External aborts are supported on cacheable locations. The abort is transmitted to the processor<br />

only if the processor requests a word that had an external abort.<br />

Precise data aborts<br />

The state of the system presented to the abort exception handler for a precise abort is always the<br />

state for the instruction that caused the abort. It cannot be the state for a subsequent instruction.<br />

As a result, it is straightforward to restart the processor after the exception handler has rectified<br />

the cause of the abort.<br />

The processor implements the base restored Data Abort model, that differs from the base<br />

updated Data Abort model implemented by the <strong>ARM</strong>7TDMI-S processor.<br />

With the base restored Data Abort model, when a data abort exception occurs during the<br />

execution of a memory access instruction, the processor hardware always restores the base<br />

register to the value it contained before the instruction was executed. This removes the<br />

requirement for the Data Abort handler to unwind any base register update, that the aborted<br />

instruction might have specified. This simplifies the software Data Abort handler. See the <strong>ARM</strong><br />

Architecture <strong>Reference</strong> <strong>Manual</strong> for more information.<br />

After dealing with the cause of the abort, the handler executes the following return instruction,<br />

irrespective of the processor operating state at the point of entry:<br />

SUBS PC,R14_abt,#8<br />

<strong>ARM</strong> DDI 0344K Copyright © 2006-2010 <strong>ARM</strong> Limited. All rights reserved. 2-30<br />

ID060510 Non-Confidential

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

Saved successfully!

Ooh no, something went wrong!