struct ArmSavedProgramStatusRegister
Defined at line 596 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
[arm/sysreg]/spsr_el1: Saved Program Status Register (El1)
[arm/sysreg]/spsr_el2: Saved Program Status Register (El2)
[arm/sysreg]/spsr_el3: Saved Program Status Register (El3)
These are the assignments when an exception is taken from AArch64 state.
Public Members
field_RsvdZ_613
field_n_615
field_z_616
field_c_617
field_v_618
field_RsvdZ_619
field_tco_620
field_dit_621
field_uao_622
field_pan_623
field_ss_624
field_il_625
field_RsvdZ_626
field_ssbs_627
field_btype_628
field_d_629
field_a_630
field_i_631
field_f_632
field_RsvdZ_633
field_a32_634
field_m_635
Public Methods
ArmCurrentEl el ()
EL this exception was taken from.
Defined at line 608 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
bool spsel ()
SPSel state at the exception, i.e. true if it used SP_ELx.
Defined at line 611 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
typename SelfType::ValueType n ()
NOLINTEND(misc-non-private-member-variables-in-classes)
Defined at line 615 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
typename SelfType::ValueType n ()
NOLINTEND(misc-non-private-member-variables-in-classes)
Defined at line 615 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
SelfType & set_n (typename SelfType::ValueType val)
Defined at line 615 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
SelfType & set_n (typename SelfType::ValueType val)
Defined at line 615 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
SelfType & set_z (typename SelfType::ValueType val)
Defined at line 616 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
SelfType & set_z (typename SelfType::ValueType val)
Defined at line 616 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
typename SelfType::ValueType z ()
NOLINTEND(misc-non-private-member-variables-in-classes)
Defined at line 616 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
typename SelfType::ValueType z ()
NOLINTEND(misc-non-private-member-variables-in-classes)
Defined at line 616 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
typename SelfType::ValueType c ()
NOLINTEND(misc-non-private-member-variables-in-classes)
Defined at line 617 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
typename SelfType::ValueType c ()
NOLINTEND(misc-non-private-member-variables-in-classes)
Defined at line 617 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
SelfType & set_c (typename SelfType::ValueType val)
Defined at line 617 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
SelfType & set_c (typename SelfType::ValueType val)
Defined at line 617 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
SelfType & set_v (typename SelfType::ValueType val)
Defined at line 618 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
SelfType & set_v (typename SelfType::ValueType val)
Defined at line 618 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
typename SelfType::ValueType v ()
NOLINTEND(misc-non-private-member-variables-in-classes)
Defined at line 618 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
typename SelfType::ValueType v ()
NOLINTEND(misc-non-private-member-variables-in-classes)
Defined at line 618 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
SelfType & set_tco (typename SelfType::ValueType val)
Defined at line 620 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
SelfType & set_tco (typename SelfType::ValueType val)
Defined at line 620 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
typename SelfType::ValueType tco ()
NOLINTEND(misc-non-private-member-variables-in-classes)
Defined at line 620 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
typename SelfType::ValueType tco ()
NOLINTEND(misc-non-private-member-variables-in-classes)
Defined at line 620 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
typename SelfType::ValueType dit ()
NOLINTEND(misc-non-private-member-variables-in-classes)
Defined at line 621 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
typename SelfType::ValueType dit ()
NOLINTEND(misc-non-private-member-variables-in-classes)
Defined at line 621 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
SelfType & set_dit (typename SelfType::ValueType val)
Defined at line 621 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
SelfType & set_dit (typename SelfType::ValueType val)
Defined at line 621 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
SelfType & set_uao (typename SelfType::ValueType val)
Defined at line 622 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
SelfType & set_uao (typename SelfType::ValueType val)
Defined at line 622 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
typename SelfType::ValueType uao ()
NOLINTEND(misc-non-private-member-variables-in-classes)
Defined at line 622 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
typename SelfType::ValueType uao ()
NOLINTEND(misc-non-private-member-variables-in-classes)
Defined at line 622 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
typename SelfType::ValueType pan ()
NOLINTEND(misc-non-private-member-variables-in-classes)
Defined at line 623 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
typename SelfType::ValueType pan ()
NOLINTEND(misc-non-private-member-variables-in-classes)
Defined at line 623 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
SelfType & set_pan (typename SelfType::ValueType val)
Defined at line 623 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
SelfType & set_pan (typename SelfType::ValueType val)
Defined at line 623 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
SelfType & set_ss (typename SelfType::ValueType val)
Defined at line 624 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
SelfType & set_ss (typename SelfType::ValueType val)
Defined at line 624 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
typename SelfType::ValueType ss ()
NOLINTEND(misc-non-private-member-variables-in-classes)
Defined at line 624 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
typename SelfType::ValueType ss ()
NOLINTEND(misc-non-private-member-variables-in-classes)
Defined at line 624 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 625 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 625 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
SelfType & set_il (typename SelfType::ValueType val)
Defined at line 625 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
SelfType & set_il (typename SelfType::ValueType val)
Defined at line 625 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
SelfType & set_ssbs (typename SelfType::ValueType val)
Defined at line 627 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
SelfType & set_ssbs (typename SelfType::ValueType val)
Defined at line 627 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
typename SelfType::ValueType ssbs ()
NOLINTEND(misc-non-private-member-variables-in-classes)
Defined at line 627 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
typename SelfType::ValueType ssbs ()
NOLINTEND(misc-non-private-member-variables-in-classes)
Defined at line 627 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
typename SelfType::ValueType btype ()
NOLINTEND(misc-non-private-member-variables-in-classes)
Defined at line 628 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
typename SelfType::ValueType btype ()
NOLINTEND(misc-non-private-member-variables-in-classes)
Defined at line 628 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
SelfType & set_btype (typename SelfType::ValueType val)
Defined at line 628 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
SelfType & set_btype (typename SelfType::ValueType val)
Defined at line 628 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
typename SelfType::ValueType d ()
NOLINTEND(misc-non-private-member-variables-in-classes)
Defined at line 629 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
typename SelfType::ValueType d ()
NOLINTEND(misc-non-private-member-variables-in-classes)
Defined at line 629 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
SelfType & set_d (typename SelfType::ValueType val)
Defined at line 629 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
SelfType & set_d (typename SelfType::ValueType val)
Defined at line 629 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
typename SelfType::ValueType a ()
NOLINTEND(misc-non-private-member-variables-in-classes)
Defined at line 630 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
typename SelfType::ValueType a ()
NOLINTEND(misc-non-private-member-variables-in-classes)
Defined at line 630 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
SelfType & set_a (typename SelfType::ValueType val)
Defined at line 630 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
SelfType & set_a (typename SelfType::ValueType val)
Defined at line 630 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
typename SelfType::ValueType i ()
NOLINTEND(misc-non-private-member-variables-in-classes)
Defined at line 631 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
typename SelfType::ValueType i ()
NOLINTEND(misc-non-private-member-variables-in-classes)
Defined at line 631 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
SelfType & set_i (typename SelfType::ValueType val)
Defined at line 631 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
SelfType & set_i (typename SelfType::ValueType val)
Defined at line 631 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
typename SelfType::ValueType f ()
NOLINTEND(misc-non-private-member-variables-in-classes)
Defined at line 632 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
typename SelfType::ValueType f ()
NOLINTEND(misc-non-private-member-variables-in-classes)
Defined at line 632 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
SelfType & set_f (typename SelfType::ValueType val)
Defined at line 632 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
SelfType & set_f (typename SelfType::ValueType val)
Defined at line 632 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
typename SelfType::ValueType a32 ()
NOLINTEND(misc-non-private-member-variables-in-classes)
Defined at line 634 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
typename SelfType::ValueType a32 ()
NOLINTEND(misc-non-private-member-variables-in-classes)
Defined at line 634 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
SelfType & set_a32 (typename SelfType::ValueType val)
Defined at line 634 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
SelfType & set_a32 (typename SelfType::ValueType val)
Defined at line 634 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
ExceptionLevel m ()
Defined at line 635 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
template <,>
SelfType & set_m (ExceptionLevel val)
Defined at line 635 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h
Enumerations
enum class ExceptionLevel : uint32_t
| Name | Value | Comments |
|---|---|---|
| kEl0t | 0b0000 |
EL0 using SP_EL0 |
| kEl1t | 0b0100 |
EL1 using SP_EL0 |
| kEl1h | 0b0101 |
EL1 using SP_EL1 |
| kEl2t | 0b1000 |
EL2 using SP_EL0 |
| kEl2h | 0b1001 |
EL2 using SP_EL2 |
| kEl3t | 0b1100 |
EL3 using SP_EL0 |
| kEl3h | 0b1101 |
EL3 using SP_EL3 |
Defined at line 597 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h