mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-09-19 17:27:51 +03:00
Kernel/riscv64: Add enum for scause
CSR
This commit is contained in:
parent
26752ee8df
commit
3286a05de1
Notes:
sideshowbarker
2024-07-17 07:19:27 +09:00
Author: https://github.com/spholz Commit: https://github.com/SerenityOS/serenity/commit/3286a05de1 Pull-request: https://github.com/SerenityOS/serenity/pull/22487 Reviewed-by: https://github.com/ADKaster
@ -215,4 +215,31 @@ struct [[gnu::packed]] alignas(u64) SSTATUS {
|
||||
};
|
||||
static_assert(AssertSize<SSTATUS, 8>());
|
||||
|
||||
// 4.1.8 Supervisor Cause Register (scause)
|
||||
constexpr u64 SCAUSE_INTERRUPT_MASK = 1LU << 63;
|
||||
|
||||
enum class SCAUSE : u64 {
|
||||
// Interrupts
|
||||
SupervisorSoftwareInterrupt = SCAUSE_INTERRUPT_MASK | 1,
|
||||
SupervisorTimerInterrupt = SCAUSE_INTERRUPT_MASK | 5,
|
||||
SupervisorExternalInterrupt = SCAUSE_INTERRUPT_MASK | 9,
|
||||
|
||||
// Exceptions
|
||||
InstructionAddressMisaligned = 0,
|
||||
InstructionAccessFault = 1,
|
||||
IllegalInstrction = 2,
|
||||
Breakpoint = 3,
|
||||
LoadAddressMisaligned = 4,
|
||||
LoadAccessFault = 5,
|
||||
StoreOrAMOAddressMisaligned = 6,
|
||||
StoreOrAMOAccessFault = 7,
|
||||
EnvironmentCallFromUMode = 8,
|
||||
EnvironmentCallFromSMode = 9,
|
||||
|
||||
InstructionPageFault = 12,
|
||||
LoadPageFault = 13,
|
||||
|
||||
StoreOrAMOPageFault = 15,
|
||||
};
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user