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 #
<n
>

kVectorCatch 0b111010

EL2, EL3

kBrk 0b111100

AArch64 BRK #
<n
>

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
synchronous or possibly asynchronous..

kLastReservedMaybeAsynchronous 0b111111

Unused values in this range reserved for future exceptions, possibly
synchronous or possibly asynchronous..

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

Records