ARM710T processor
ARM710T processor
ARM710T processor
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
4.3.6 Register 5: Fault Status Register<br />
Note<br />
Reading CP15, register 5 returns the value of the Fault Status Register (FSR). The<br />
FSR contains the source of the last data fault.<br />
Only the bottom 9 bits are returned. The upper 23 bits are UNPREDICTABLE.<br />
The FSR indicates the domain and type of access being attempted when an abort<br />
occurred:<br />
Bit 8 is always read as zero. Bit 8 is ignored on writes.<br />
Bits [7:4] specify which of the 16 domains (D15–D0) was being accessed when<br />
a fault occurred.<br />
Bits [3:1] indicate the type of access being attempted.<br />
The encoding of these bits is shown in 8.12 Fault Address & Fault Status Registers<br />
(FAR & FSR) on page 8-14. The FSR is only updated for data faults, not for prefetch<br />
faults.<br />
Writing CP15, register 5 sets the Fault Status Register to the value of the data written.<br />
This is useful when a debugger needs to restore the value of the FSR. The upper 24<br />
bits written SHOULD BE ZERO.<br />
The CRm and opcode_2 fields SHOULD BE ZERO when reading or writing CP15<br />
register 5.<br />
31<br />
UNP/SBZ<br />
9 8 7 4 3<br />
0 Domain Status<br />
0<br />
Figure 4-9: Register 5<br />
4.3.7 Register 6: Fault Address Register<br />
Reading CP15, register 6 returns the value of the Fault Address Register (FAR). The<br />
FAR holds the virtual address of the access which was attempted when a fault<br />
occurred. The FAR is only updated for data faults, not for prefetch faults.<br />
Writing CP15, register 6 sets the Fault Address Register to the value of the data written.<br />
This is useful when a debugger needs to restore the value of the FAR.<br />
The CRm and opcode_2 fields SHOULD BE ZERO when reading or writing CP15<br />
register 6.<br />
31 0<br />
Fault Address<br />
Figure 4-10: Register 6<br />
4-7