53 #ifndef ETISS_INCLUDE_MM_PAGEFAULTVECTOR_H_
54 #define ETISS_INCLUDE_MM_PAGEFAULTVECTOR_H_
74 #define MAX_PAGE_FAULT_NUM 20
77 #define PAGE_FAULT(val, fault) const int32_t fault = val;
80 #ifndef REGISTER_PAGE_FAULT_HANDLER
81 #define REGISTER_PAGE_FAULT_HANDLER(fault, handler) page_fault_handler[fault] = handler
84 #ifndef HANDLE_PAGE_FAULT
85 #define HANDLE_PAGE_FAULT(fault, mmu, vma, access) (*page_fault_handler[fault])(fault, mmu, vma, access)
89 #ifdef ETISS_PLUGIN_IMPORTS
90 #define MM_EXPORT __declspec(dllimport)
92 #define MM_EXPORT __declspec(dllexport)
static __inline__ uint64_t
static __inline__ int32_t
MM_EXPORT const int32_t PTENOTEXISTED
MM_EXPORT handler_ptr page_fault_handler[]
MM_EXPORT const int32_t TLBISFULL
MM_EXPORT const int32_t PROTECTIONVIALATION
MM_EXPORT const int32_t TLBMISS
MM_EXPORT const int32_t NOERROR
int32_t(* handler_ptr)(int32_t fault, MMU *mmu, uint64_t vma, MM_ACCESS access)
MM_EXPORT const int32_t PTEOVERLAP
MM_EXPORT std::string PAGE_FAULT_MSG[]
Page Table Entry (PTE) defines the composition of Page Frame Number (PFN) and relavant flags.