struct ArmCurrentEl

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

[arm/sysreg]/currentel: CurrentEL, Current Exception Level

Public Members

 field_el_66

Public Methods

template <typename El1, typename El2, typename El3, typename Call>
decltype(auto) ForThisEl (El1 && el1, El2 && el2, El3 && el3, Call && call)

This returns call(el1) or call(el2) or call(el3) depending on current EL.

It uses perfect forwarding. All three overloads of call must all have the

same return type, which may be void.

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

template <typename El1, typename El2, typename El3, typename Call>
void ForEachEl (El1 && el1, El2 && el2, El3 && el3, Call && call)

This does each of call(el3), call(el2), and call(el1) in turn going from

the current EL to each lower EL (with no call for EL0). It uses perfect

forwarding for elx objects.

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

template <, >
typename SelfType::ValueType el ()

NOLINTEND(misc-non-private-member-variables-in-classes)

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

template <, >
typename SelfType::ValueType el ()

NOLINTEND(misc-non-private-member-variables-in-classes)

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

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

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

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

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

Records