1 #include <lunaix/mm/fault.h>
2 #include <lunaix/mm/region.h>
3 #include <lunaix/process.h>
4 #include <lunaix/hart_state.h>
6 #include <sys/mm/mm_defs.h>
9 __arch_prepare_fault_context(struct fault_context* fault)
11 struct hart_state* ictx = fault->hstate;
13 ptr_t ptr = cpu_ldeaddr();
18 fault->fault_ptep = mkptep_va(VMS_SELF, ptr);
19 fault->fault_data = ictx->execp->err_code;
20 fault->fault_instn = ictx->execp->eip;
21 fault->fault_va = ptr;