| |||
| Home > System Control > Register descriptions > Data Fault Status Register | |||
The DFSR characteristics are:
Holds status information about the last data fault.
The DFSR is:
a read/write register
Banked for Secure and Non-secure states
only accessible from PL1 or higher.
Available in all configurations.
See the register summary in Table 4.6.
There are two formats for this register. The current translation table format determines which format of the register is used. This section describes:
Figure 4.31 shows the DFSR bit assignments when using the Short-descriptor translation table format.
Table 4.60 shows the DFSR bit assignments when using the Short-descriptor translation table format.
Table 4.60. DFSR bit assignments for Short-descriptor translation table format
| Bits | Name | Function |
|---|---|---|
| [31:14] | - | Reserved, UNK/SBZP. |
| [13] | CM | Cache maintenance fault. For synchronous faults, this bit indicates whether a cache maintenance operation generated the fault:
On an asynchronous fault, this bit is unknown. |
| [12] | ExT | External abort type. This field indicates whether an AXI Decode or Slave error caused an abort:
For aborts other than external aborts this bit always returns 0. |
| [11] | WnR | Write not Read bit. This field indicates whether a write or a read access caused the abort:
For faults on CP15 cache maintenance operations, including the VA to PA translation operations, this bit always returns a value of 1. |
| [10] | FS[4] | Part of the Fault Status field. See bits[3:0] in this table. |
| [9] | - | RAZ. |
| [8] | - | Reserved, UNK/SBZP. |
| [7:4] | Domain | The domain of the fault address. Specifies which of the 16 domains, D15-D0, was being accessed when a data fault occurred. ARMv7 deprecates any use of the domain field in the DFSR. For a Permission fault that generates a Data Abort exception, this field is unknown. |
| [3:0] | FS[3:0] | Fault Status bits. This field indicates the type of exception generated. Any encoding not listed is reserved:
|
[a] This fault is not generated by the Cortex-A15 MPCore processor. | ||
Figure 4.32 shows the DFSR bit assignments when using the Long-descriptor translation table format.
Table 4.61 shows the DFSR bit assignments when using the Long-descriptor translation table format.
Table 4.61. DFSR bit assignments for Long-descriptor translation table format
| Bits | Name | Function |
|---|---|---|
| [31:14] | - | Reserved, UNK/SBZP. |
| [13] | CM | Cache maintenance fault. For synchronous faults, this bit indicates whether a cache maintenance operation generated the fault:
On an asynchronous fault, this bit is unknown. |
| [12] | ExT | External abort type. This field indicates whether an AXI Decode or Slave error caused an abort:
For aborts other than external aborts this bit always returns 0. |
| [11] | WnR | Write not Read bit. This field indicates whether a write or a read access caused the abort:
For faults on CP15 cache maintenance operations, including the VA to PA translation operations, this bit always returns a value of 1. |
| [10] | - | Reserved, UNK/SBZP. |
| [9] | - | RAO. |
| [8:6] | - | Reserved, UNK/SBZP. |
| [5:0] | Status | Fault Status bits. This field indicates the type of exception generated. Any encoding not listed is reserved:
|
Table 4.62 shows how the LL bits in the Status field encode the lookup level associated with the MMU fault.
Table 4.62. Encodings of LL bits associated with the MMU fault
| LL bits | Meaning |
|---|---|
| 00 | Reserved |
| 01 | First level |
| 10 | Second level |
| 11 | Third level |
To access the DFSR, read or write the CP15 register with:
MRC p15, 0, <Rt>, c5, c0, 0; Read Data Fault Status Register
MCR p15, 0, <Rt>, c5, c0, 0; Write Data Fault Status Register