1
0

rocket: separate page faults from physical memory access exceptions

This commit is contained in:
Andrew Waterman
2017-03-26 18:18:35 -07:00
parent ea0714bfcb
commit 069858a20c
11 changed files with 120 additions and 73 deletions

View File

@ -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
}
}