mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 21:52:45 +00:00 
			
		
		
		
	Kernel/riscv64: Add enum for scause CSR
				
					
				
			This commit is contained in:
		
							parent
							
								
									26752ee8df
								
							
						
					
					
						commit
						3286a05de1
					
				
					 1 changed files with 27 additions and 0 deletions
				
			
		|  | @ -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…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Sönke Holz
						Sönke Holz