3.2.19
c6, Fault Address Register
ARM DDI 0301H
ID012310
Note
When the SCR EA bit is set, see c1, Secure Configuration Register on page 3-52, the processor
writes to the Secure Instruction Fault Status Register on a Secure Monitor entry caused by an
external abort.
To use the IFSR read or write CP15 with:
•
Opcode_1 set to 0
•
CRn set to c5
•
CRm set to c0
•
Opcode_2 set to 1.
For example:
MRC p15, 0, <Rd>, c5, c0, 1
MCR p15, 0, <Rd>, c5, c0, 1
The purpose of the Fault Address Register (FAR) is to hold the Modified Virtual Address (MVA)
of the fault when a precise abort occurs.
The FAR is:
•
in CP15 c6
•
a 32-bit read/write register banked for Secure and Non-secure worlds
•
accessible in privileged modes only.
The Fault Address Register bits [31:0] contain the MVA that the precise abort occurred on. The
reset value is 0.
Table 3-65 lists the results of attempted access for each mode.
Secure Privileged
Read
Write
Secure data
Secure data
To use the FAR read or write CP15 with:
•
Opcode_1 set to 0
•
CRn set to c6
•
CRm set to c0
•
Opcode_2 set to 0.
For example:
MRC p15, 0, <Rd>, c6, c0, 0
MCR p15, 0, <Rd>, c6, c0, 0
A write to this register sets the FAR to the value of the data written. This is useful for a debugger
to restore the value of the FAR.
The ARM1176JZF-S processor also updates the FAR on debug exception entry because of
watchpoints, see Effect of a debug event on CP15 registers on page 13-34 for more details.
Copyright © 2004-2009 ARM Limited. All rights reserved.
Non-Confidential, Unrestricted Access
; Read Instruction Fault Status Register
; Write Instruction Fault Status Register
Table 3-65 Results of access to the Fault Address Register
Non-secure Privileged
Read
Write
Non-secure data
Non-secure data
; Read Fault Address Register
; Write Fault Address Register
System Control Coprocessor
User
Undefined exception
3-68