struct ArmSavedProgramStatusRegister

Defined at line 593 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_610
 field_n_612
 field_z_613
 field_c_614
 field_v_615
 field_RsvdZ_616
 field_tco_617
 field_dit_618
 field_uao_619
 field_pan_620
 field_ss_621
 field_il_622
 field_RsvdZ_623
 field_ssbs_624
 field_btype_625
 field_d_626
 field_a_627
 field_i_628
 field_f_629
 field_RsvdZ_630
 field_a32_631
 field_m_632

Public Methods

ArmCurrentEl el ()

EL this exception was taken from.

Defined at line 605 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 608 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 612 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 612 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h

template <, >
SelfType & set_n (typename SelfType::ValueType val)

Defined at line 612 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h

template <, >
SelfType & set_n (typename SelfType::ValueType val)

Defined at line 612 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h

template <, >
SelfType & set_z (typename SelfType::ValueType val)

Defined at line 613 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h

template <, >
SelfType & set_z (typename SelfType::ValueType val)

Defined at line 613 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 613 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 613 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 614 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 614 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h

template <, >
SelfType & set_c (typename SelfType::ValueType val)

Defined at line 614 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h

template <, >
SelfType & set_c (typename SelfType::ValueType val)

Defined at line 614 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h

template <, >
SelfType & set_v (typename SelfType::ValueType val)

Defined at line 615 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h

template <, >
SelfType & set_v (typename SelfType::ValueType val)

Defined at line 615 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 615 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 615 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h

template <, >
SelfType & set_tco (typename SelfType::ValueType val)

Defined at line 617 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h

template <, >
SelfType & set_tco (typename SelfType::ValueType val)

Defined at line 617 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 617 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 617 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 618 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 618 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h

template <, >
SelfType & set_dit (typename SelfType::ValueType val)

Defined at line 618 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h

template <, >
SelfType & set_dit (typename SelfType::ValueType val)

Defined at line 618 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h

template <, >
SelfType & set_uao (typename SelfType::ValueType val)

Defined at line 619 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h

template <, >
SelfType & set_uao (typename SelfType::ValueType val)

Defined at line 619 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 619 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 619 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 620 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 620 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h

template <, >
SelfType & set_pan (typename SelfType::ValueType val)

Defined at line 620 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h

template <, >
SelfType & set_pan (typename SelfType::ValueType val)

Defined at line 620 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h

template <, >
SelfType & set_ss (typename SelfType::ValueType val)

Defined at line 621 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h

template <, >
SelfType & set_ss (typename SelfType::ValueType val)

Defined at line 621 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 621 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 621 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 622 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 622 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h

template <, >
SelfType & set_il (typename SelfType::ValueType val)

Defined at line 622 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h

template <, >
SelfType & set_il (typename SelfType::ValueType val)

Defined at line 622 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h

template <, >
SelfType & set_ssbs (typename SelfType::ValueType val)

Defined at line 624 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h

template <, >
SelfType & set_ssbs (typename SelfType::ValueType val)

Defined at line 624 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 624 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 624 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 625 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 625 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h

template <, >
SelfType & set_btype (typename SelfType::ValueType val)

Defined at line 625 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h

template <, >
SelfType & set_btype (typename SelfType::ValueType val)

Defined at line 625 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 626 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 626 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h

template <, >
SelfType & set_d (typename SelfType::ValueType val)

Defined at line 626 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h

template <, >
SelfType & set_d (typename SelfType::ValueType val)

Defined at line 626 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 627 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 627 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h

template <, >
SelfType & set_a (typename SelfType::ValueType val)

Defined at line 627 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h

template <, >
SelfType & set_a (typename SelfType::ValueType val)

Defined at line 627 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 628 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 628 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h

template <, >
SelfType & set_i (typename SelfType::ValueType val)

Defined at line 628 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h

template <, >
SelfType & set_i (typename SelfType::ValueType val)

Defined at line 628 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 629 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 629 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h

template <, >
SelfType & set_f (typename SelfType::ValueType val)

Defined at line 629 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h

template <, >
SelfType & set_f (typename SelfType::ValueType val)

Defined at line 629 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 631 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 631 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h

template <, >
SelfType & set_a32 (typename SelfType::ValueType val)

Defined at line 631 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h

template <, >
SelfType & set_a32 (typename SelfType::ValueType val)

Defined at line 631 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h

template <, >
ExceptionLevel m ()

Defined at line 632 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h

template <, >
SelfType & set_m (ExceptionLevel val)

Defined at line 632 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h

Enumerations

enum ExceptionLevel
Name Value
kEl0t 0b0000
kEl1t 0b0100
kEl1h 0b0101
kEl2t 0b1000
kEl2h 0b1001
kEl3t 0b1100
kEl3h 0b1101

Defined at line 594 of file ../../zircon/kernel/lib/arch/include/lib/arch/arm64/system.h

Records