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