MPU Memory Management Unit
2-41
MPU Subsystem
2.7.8
Fault Address and Fault Status Registers (FAR and FSR)
If an illegal data access (data abort) occurs, the MMU places an encoded 4-bit
value FS[3–0] and the 4-bit encoded domain number in the fault status register
(FSR). In addition, the virtual address associated with the data abort is stored
into the fault address register (FAR). If an access violation results from multiple
causes, the faults are encoded according to the priorities given in Table 2–23.
Faults that occur during an instruction fetch are not stored in FSR and FAR.
The following sections describe the various access permissions and controls
supported by the MMU and detail how they are interpreted to generate faults.
Table 2–23. Priority Encoding of the Fault Status Register
Source
Priority
Domain [3-0]
FAR
Highest priority
Alignment
†
0b0001
Invalid
‡
VA of access causing abort
§
External abort on transaction
First level
0b1100
Invalid
VA of access causing abort
Second
level
0b1110
Valid
Transaction
Section
0b0101
Invalid
VA of access causing abort
Page
0b0111
Valid
Domain
Section
0b1001
Valid
VA of access causing abort
Page
0b1011
Valid
Permission
Section
0b1101
Valid
VA of access causing abort
Page
0b1111
Valid
External abort on line fetch
Section
0b0100
Valid
VA of start of cache line being
loaded
Page
0b0110
Valid
External abort on NCNB access
Section
0b1000
Valid
VA of access causing abort
Page
0b1010
Valid
Lowest priority
† Alignment faults write 0b0001 into FS[3-0].
‡ Invalid values in domain[3-0] occur because the fault is raised before a valid domain field has been selected.
§ Fixing the primary abort and restarting the instruction can regenerate any abort masked by the priority encoding.