Digi NS9215 Computer Hardware User Manual


 
. . . . .
WORKING WITH THE CPU
R6: Fault Address register
www.digiembedded.com 93
Status and
domain fields
This table shows the encodings used for the status field in the Fault Status register,
and indicates whether the domain field contains valid information. See “MMU faults
and CPU aborts” on page 119 for information about MMU aborts in Fault Address and
Fault Status registers.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
R6: Fault Address register
Register R6 accesses the Fault Address register (FAR). The Fault Address register
contains the modified virtual address of the access attempted when a data abort
occurred. This register is updated only for data aborts, not for prefetch aborts; it is
updated also for alignment faults and external aborts that occur while the MMU is
disabled.
Writing R6 sets the Fault Address register to the value of the data written. This is
useful for debugging, to restore the value of a Fault Address register to a previous
state.
The
CRm and opcode_2 fields SHOULD BE ZERO when reading or writing R6.
Access
instructions
Use these instructions to access the Fault Address register:
MRC p15, 0, Rd, c6, c0, 0; read FAR
MCR p15, 0, Rd, c6, c0, 0; write FAR
Priority Source Size Status Domain
Highest Alignment N/A
0b00x1
Invalid
External abort on translation First level
Second level
0b1100
0b1110
Invalid
Valid
Translation Section page
0b0101
0b0111
Invalid
Valid
Domain Section page
0b1001
0b1011
Valid
Valid
Permission Section page
0b1101
0b1111
Valid
Valid
Lowest External abort Section page
0b1000
0b1010
Valid
Valid