|
@@ -162,11 +162,11 @@ void handle_user(rt_size_t scause, rt_size_t stval, rt_size_t sepc, struct rt_hw
|
|
{
|
|
{
|
|
case EP_LOAD_PAGE_FAULT:
|
|
case EP_LOAD_PAGE_FAULT:
|
|
fault_op = MM_FAULT_OP_READ;
|
|
fault_op = MM_FAULT_OP_READ;
|
|
- fault_type = MM_FAULT_TYPE_PAGE_FAULT;
|
|
|
|
|
|
+ fault_type = MM_FAULT_TYPE_GENERIC_MMU;
|
|
break;
|
|
break;
|
|
case EP_LOAD_ACCESS_FAULT:
|
|
case EP_LOAD_ACCESS_FAULT:
|
|
fault_op = MM_FAULT_OP_READ;
|
|
fault_op = MM_FAULT_OP_READ;
|
|
- fault_type = MM_FAULT_TYPE_ACCESS_FAULT;
|
|
|
|
|
|
+ fault_type = MM_FAULT_TYPE_BUS_ERROR;
|
|
break;
|
|
break;
|
|
case EP_LOAD_ADDRESS_MISALIGNED:
|
|
case EP_LOAD_ADDRESS_MISALIGNED:
|
|
fault_op = MM_FAULT_OP_READ;
|
|
fault_op = MM_FAULT_OP_READ;
|
|
@@ -174,11 +174,11 @@ void handle_user(rt_size_t scause, rt_size_t stval, rt_size_t sepc, struct rt_hw
|
|
break;
|
|
break;
|
|
case EP_STORE_PAGE_FAULT:
|
|
case EP_STORE_PAGE_FAULT:
|
|
fault_op = MM_FAULT_OP_WRITE;
|
|
fault_op = MM_FAULT_OP_WRITE;
|
|
- fault_type = MM_FAULT_TYPE_PAGE_FAULT;
|
|
|
|
|
|
+ fault_type = MM_FAULT_TYPE_GENERIC_MMU;
|
|
break;
|
|
break;
|
|
case EP_STORE_ACCESS_FAULT:
|
|
case EP_STORE_ACCESS_FAULT:
|
|
fault_op = MM_FAULT_OP_WRITE;
|
|
fault_op = MM_FAULT_OP_WRITE;
|
|
- fault_type = MM_FAULT_TYPE_ACCESS_FAULT;
|
|
|
|
|
|
+ fault_type = MM_FAULT_TYPE_BUS_ERROR;
|
|
break;
|
|
break;
|
|
case EP_STORE_ADDRESS_MISALIGNED:
|
|
case EP_STORE_ADDRESS_MISALIGNED:
|
|
fault_op = MM_FAULT_OP_WRITE;
|
|
fault_op = MM_FAULT_OP_WRITE;
|
|
@@ -186,11 +186,11 @@ void handle_user(rt_size_t scause, rt_size_t stval, rt_size_t sepc, struct rt_hw
|
|
break;
|
|
break;
|
|
case EP_INSTRUCTION_PAGE_FAULT:
|
|
case EP_INSTRUCTION_PAGE_FAULT:
|
|
fault_op = MM_FAULT_OP_EXECUTE;
|
|
fault_op = MM_FAULT_OP_EXECUTE;
|
|
- fault_type = MM_FAULT_TYPE_PAGE_FAULT;
|
|
|
|
|
|
+ fault_type = MM_FAULT_TYPE_GENERIC_MMU;
|
|
break;
|
|
break;
|
|
case EP_INSTRUCTION_ACCESS_FAULT:
|
|
case EP_INSTRUCTION_ACCESS_FAULT:
|
|
fault_op = MM_FAULT_OP_EXECUTE;
|
|
fault_op = MM_FAULT_OP_EXECUTE;
|
|
- fault_type = MM_FAULT_TYPE_ACCESS_FAULT;
|
|
|
|
|
|
+ fault_type = MM_FAULT_TYPE_BUS_ERROR;
|
|
break;
|
|
break;
|
|
case EP_INSTRUCTION_ADDRESS_MISALIGNED:
|
|
case EP_INSTRUCTION_ADDRESS_MISALIGNED:
|
|
fault_op = MM_FAULT_OP_EXECUTE;
|
|
fault_op = MM_FAULT_OP_EXECUTE;
|