Exception Syndrome Register, EL2
The ESR_EL2 characteristics are:
|Purpose||Holds syndrome information for an exception taken to EL2.|
The accessibility to the ESR_EL2 in AArch64 state by Exception level is:
The accessibility to the HSR in AArch32 state by Exception level is:
The ESR_EL2 is:
|Attributes||See the register summary in Table 4-2 AArch64 exception handling registers.|
The following figure shows the ESR_EL2 bit assignments.
Figure 4-47 ESR_EL2 bit assignments
The following table shows the ESR_EL2 bit assignments.
Table 4-65 ESR_EL2 bit assignments
Exception class. The exception class for the exception that is taken in Hyp mode.
When zero, this field indicates that the reason for the exception is not known. In this case, the other fields in this register are UNKNOWN. Otherwise, the field holds the exception class for the exception. See the ARM® Architecture Reference Manual ARMv8 for more information.
Instruction length. Indicates the size of the instruction that has been trapped to Hyp mode. The values are:
This field is not valid for:
In these cases the field is RES0.
|[24:0]||ISS||Instruction specific syndrome. The interpretation of this field depends on the value of the EC field. See Encoding of ISS[24:20] when HSR[31:30] is 0b00>.|
All exception classes except the Instruction Abort are architecturally defined in the ARM® Architecture Reference Manual ARMv8. The SError Interrupt exception classes are architecturally defined in the ARM® Generic Interrupt Controller Architecture Specification, GICv3 with the exception of four bits.
The following changes are Cortex-A72 implementation-defined and only apply to SError Interrupt exception classes.
Table 4-66 ESR_EL2 Cortex-A72 implementation-defined SError Interrupt exception classes bit assignments
|||Unattributable System Error||
|||Uncontainable System Error||
|[1:0]||System Error Source||
Encoding of ISS[24:20] when HSR[31:30] is 0b00
For EC values that are nonzero and have the two most-significant
0b00, ISS[24:20] provides the condition
field for the trapped instruction, together with a valid flag for
this field. The encoding of this part of the ISS field is:
Condition valid. Possible values of this bit are:
When an instruction is trapped, CV is set to 1.
The Condition field for the trapped instruction. This field is valid only when CV is set to 1.
If CV is set to 0, this field is UNK/RES0.
When an instruction is trapped, the COND field is
To access the ESR_EL2 in AArch64 state, read or write the register with:
MRS <Xt>, ESR_EL2; Read EL2 Exception Syndrome Register MSR ESR_EL2, <Xt>; Write EL2 Exception Syndrome Register
To access the HSR in AArch32 state, read or write the CP15 register with:
MRC p15, 4, <Rt>, c5, c1, 0; Read Hyp Syndrome Register MCR p15, 4, <Rt>, c5, c1, 0; Write Hyp Syndrome Register