struct ArmExceptionSyndromeRegister
Defined at line 662 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
[arm/sysreg]/esr_el1: Exception Syndrome Register (El1)
[arm/sysreg]/esr_el2: Exception Syndrome Register (El2)
[arm/sysreg]/esr_el3: Exception Syndrome Register (El3)
These are the assignments when an exception is taken from AArch64 state.
Public Members
field_RsvdZ_723
field_iss2_725
field_ec_726
field_il_727
field_iss_728
Public Methods
template <,>
typename SelfType::ValueType iss2 ()
NOLINTEND(misc-non-private-member-variables-in-classes)
Defined at line 725 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
typename SelfType::ValueType iss2 ()
NOLINTEND(misc-non-private-member-variables-in-classes)
Defined at line 725 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
SelfType & set_iss2 (typename SelfType::ValueType val)
Defined at line 725 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
SelfType & set_iss2 (typename SelfType::ValueType val)
Defined at line 725 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
ExceptionClass ec ()
Defined at line 726 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
SelfType & set_ec (ExceptionClass val)
Defined at line 726 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
typename SelfType::ValueType il ()
NOLINTEND(misc-non-private-member-variables-in-classes)
Defined at line 727 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
typename SelfType::ValueType il ()
NOLINTEND(misc-non-private-member-variables-in-classes)
Defined at line 727 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
SelfType & set_il (typename SelfType::ValueType val)
Defined at line 727 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
SelfType & set_il (typename SelfType::ValueType val)
Defined at line 727 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
typename SelfType::ValueType iss ()
NOLINTEND(misc-non-private-member-variables-in-classes)
Defined at line 728 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
typename SelfType::ValueType iss ()
NOLINTEND(misc-non-private-member-variables-in-classes)
Defined at line 728 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
SelfType & set_iss (typename SelfType::ValueType val)
Defined at line 728 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
SelfType & set_iss (typename SelfType::ValueType val)
Defined at line 728 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
Enumerations
enum class ExceptionClass : uint32_t
| Name | Value | Comments |
|---|---|---|
| kUnknown | 0b000000 | -- |
| kWf | 0b000001 |
WF |
| kMcr | 0b000011 |
MCR or MRC |
| kMcrr | 0b000100 |
MCRR or MRRC |
| kMcrCoproc | 0b000101 |
MCR or MRC (coproc=0b1110) |
| kLdc | 0b000110 |
LDC or STC |
| kFp | 0b000111 |
SVE or SIMD |
| kLd64b | 0b001010 |
LD64B, ST64B, ST64BV, or ST64BVO |
| kMcrrCoproc | 0b001100 |
MRRC (coproc==0b1110) |
| kBti | 0b001101 |
Branch target exception |
| kIllegalExecution | 0b001110 | -- |
| kSvc32 | 0b010001 | -- |
| kHvc32 | 0b010010 |
EL2, EL3 |
| kSmc32 | 0b010011 |
EL2, EL3 |
| kTrappedSysreg128 | 0b010100 | -- |
| kSvc64 | 0b010101 | -- |
| kHvc64 | 0b010110 |
EL2, EL3 |
| kSmc64 | 0b010111 |
EL2, EL3 |
| kMsr | 0b011000 |
MSR, MRS, or System Instruction |
| kSve | 0b011001 | -- |
| kEret | 0b011010 |
EL2, EL3 |
| kTstart | 0b011011 | -- |
| kPac | 0b011100 | -- |
| kSme | 0b011101 | -- |
| kImplementationDefined | 0b011111 |
EL3 |
| kInstructionAbortLowerEl | 0b100000 | -- |
| kInstructionAbortSameEl | 0b100001 | -- |
| kPcAlignment | 0b100010 | -- |
| kDataAbortLowerEl | 0b100100 | -- |
| kDataAbortSameEl | 0b100101 | -- |
| kSpAlignment | 0b100110 | -- |
| kMops | 0b100111 | -- |
| kFpe32 | 0b101000 | -- |
| kFpe64 | 0b101100 | -- |
| kGcs | 0b101101 | -- |
| kSerror | 0b101111 | -- |
| kBreakpointLowerEl | 0b110000 | -- |
| kBreakpointSameEl | 0b110001 | -- |
| kStepLowerEl | 0b110010 | -- |
| kStepSameEl | 0b110011 | -- |
| kWatchpointLowerEl | 0b110100 | -- |
| kWatchpointSameEl | 0b110101 | -- |
| kBkpt | 0b111000 |
AArch32 BKPT # |
| kVectorCatch | 0b111010 |
EL2, EL3 |
| kBrk | 0b111100 |
AArch64 BRK # |
| kProfiling | 0b111101 | -- |
| kFirstReservedSynchronous | 0b000000 |
Unused values in this range reserved for future synchronous exceptions. |
| kLastReservedSynchronous | 0b101100 |
Unused values in this range reserved for future synchronous exceptions. |
| kFirstReservedMaybeAsynchronous | 0b101101 |
Unused values in this range reserved for future exceptions, possibly |
| kLastReservedMaybeAsynchronous | 0b111111 |
Unused values in this range reserved for future exceptions, possibly |
Some values are only possible in ESR_EL2 and/or ESR_EL3.
Defined at line 665 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h