X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/c166bd62fbb907f95f79f621e2a2fb4fdde08e01..22d06cbaaf660067bfea03f73bee9c8630c05d50:/lunaix-os/includes/lunaix/mm/fault.h?ds=sidebyside diff --git a/lunaix-os/includes/lunaix/mm/fault.h b/lunaix-os/includes/lunaix/mm/fault.h index 3367841..abc8b7e 100644 --- a/lunaix-os/includes/lunaix/mm/fault.h +++ b/lunaix-os/includes/lunaix/mm/fault.h @@ -4,14 +4,14 @@ #include #include #include -#include +#include #define RESOLVE_OK ( 0b000001 ) #define NO_PREALLOC ( 0b000010 ) struct fault_context { - isr_param* ictx; + struct hart_state* hstate; struct { @@ -41,12 +41,16 @@ struct fault_context int resolve_type; }; -bool -__arch_prepare_fault_context(struct fault_context* context); - static inline void fault_resolved(struct fault_context* fault, int flags) { fault->resolve_type |= (flags | RESOLVE_OK); } + +bool +handle_page_fault(struct fault_context* fault); + +void noret +fault_resolving_failed(struct fault_context* fault); + #endif /* __LUNAIX_FAULT_H */