rocket: separate page faults from physical memory access exceptions
This commit is contained in:
@ -216,31 +216,37 @@ object Instructions {
|
||||
}
|
||||
object Causes {
|
||||
val misaligned_fetch = 0x0
|
||||
val fault_fetch = 0x1
|
||||
val fetch_access = 0x1
|
||||
val illegal_instruction = 0x2
|
||||
val breakpoint = 0x3
|
||||
val misaligned_load = 0x4
|
||||
val fault_load = 0x5
|
||||
val load_access = 0x5
|
||||
val misaligned_store = 0x6
|
||||
val fault_store = 0x7
|
||||
val store_access = 0x7
|
||||
val user_ecall = 0x8
|
||||
val supervisor_ecall = 0x9
|
||||
val hypervisor_ecall = 0xa
|
||||
val machine_ecall = 0xb
|
||||
val fetch_page_fault = 0xc
|
||||
val load_page_fault = 0xd
|
||||
val store_page_fault = 0xf
|
||||
val all = {
|
||||
val res = collection.mutable.ArrayBuffer[Int]()
|
||||
res += misaligned_fetch
|
||||
res += fault_fetch
|
||||
res += fetch_access
|
||||
res += illegal_instruction
|
||||
res += breakpoint
|
||||
res += misaligned_load
|
||||
res += fault_load
|
||||
res += load_access
|
||||
res += misaligned_store
|
||||
res += fault_store
|
||||
res += store_access
|
||||
res += user_ecall
|
||||
res += supervisor_ecall
|
||||
res += hypervisor_ecall
|
||||
res += machine_ecall
|
||||
res += fetch_page_fault
|
||||
res += load_page_fault
|
||||
res += store_page_fault
|
||||
res.toArray
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user