![Intel IXP45X Developer'S Manual Download Page 178](http://html1.mh-extra.com/html/intel/ixp45x/ixp45x_developers-manual_2073092178.webp)
Intel
®
IXP45X and Intel
®
IXP46X Product Line of Network Processors—Intel XScale
®
Processor
Intel
®
IXP45X and Intel
®
IXP46X Product Line of Network Processors
Developer’s Manual
August 2006
178
Order Number: 306262-004US
3.8.3.4.3
Prefetch Aborts
The Intel XScale processor detects three types of prefetch aborts: Instruction MMU
abort, external abort on an instruction access, and an instruction cache parity error.
These aborts are described in
When a prefetch abort occurs, hardware reports the highest priority one in the
extended Status field of the Fault Status Register. The value placed in R14_ABORT (the
link register in abort mode) is the address of the aborted instr 4.
3.8.3.4.4
Data Aborts
Two types of data aborts exist in the Intel XScale processor: precise and imprecise. A
precise data abort is defined as one where R14_ABORT always contains the PC (+8) of
the instruction that caused the exception. An imprecise abort is one where R14_ABORT
contains the PC (+4) of the next instruction to execute and not the address of the
instruction that caused the abort. In other words, instruction execution will have
advanced beyond the instruction that caused the data abort.
On the Intel XScale processor precise data aborts are recoverable and imprecise data
aborts are not recoverable.
Precise Data Aborts
• A lock abort is a precise data abort; the extended Status field of the Fault Status
Register is set to 0xb10100. This abort occurs when a lock operation directed to the
MMU (instruction or data) or instruction cache causes an exception, due to either a
translation fault, access permission fault or external bus fault.
The Fault Address Register is undefined and R14_ABORT is the address of the
aborted instr 8.
• A data MMU abort is precise. These are due to an alignment fault, translation fault,
domain fault, permission fault or external data abort on an MMU translation. The
status field is set to a predetermined Intel
®
StrongARM
*
definition which is shown
in
The Fault Address Register is set to the effective data address of the instruction and
R14_ABORT is the address of the aborted instr 8.
Table 77.
Processors’: Encoding of Fault Status for Prefetch Aborts
Priority
Sources
FS[10,3:0]
Domain
FAR
Highest
Instruction MMU Exception
Several exceptions can generate this encoding:
- translation faults
- domain faults, and
- permission faults
It is up to software to figure out which one occurred.
0b10000
invalid
invalid
External Instruction Error Exception
This exception occurs when the external memory system
reports an error on an instruction cache fetch.
0b10110
invalid
invalid
Lowest
Instruction Cache Parity Error Exception
0b11000
invalid
invalid
†
All other encodings not listed in the table are reserved.