struct RiscvScause

Defined at line 58 of file ../../zircon/kernel/lib/arch/include/lib/arch/riscv64/system.h

Public Members

 field_interrupt_83
 field_exception_code_84

Public Methods

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

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

Defined at line 83 of file ../../zircon/kernel/lib/arch/include/lib/arch/riscv64/system.h

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

Defined at line 83 of file ../../zircon/kernel/lib/arch/include/lib/arch/riscv64/system.h

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

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

Defined at line 84 of file ../../zircon/kernel/lib/arch/include/lib/arch/riscv64/system.h

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

Defined at line 84 of file ../../zircon/kernel/lib/arch/include/lib/arch/riscv64/system.h

const char * description ()

Defined at line 86 of file ../../zircon/kernel/lib/arch/include/lib/arch/riscv64/system.h

Enumerations

enum InterruptException
Name Value
kSoftwareInterrupt 1
kTimerInterrupt 5
kExternalInterrupt 9

exception_code values when interrupt is set.

Defined at line 60 of file ../../zircon/kernel/lib/arch/include/lib/arch/riscv64/system.h

enum Exception
Name Value
kInstructionAddressMisaligned 0
kInstructionAccessFault 1
kIllegalInstruction 2
kBreakpoint 3
kLoadAddressMisaligned 4
kLoadAccessFault 5
kStoreAddressMisaligned 6
kStoreAccessFault 7
kEcallUmode 8
kEcallSmode 9
kInstructionPageFault 12
kLoadPageFault 13
kStorePageFault 15

exception_code values when interrupt is clear.

Defined at line 67 of file ../../zircon/kernel/lib/arch/include/lib/arch/riscv64/system.h

Records