MPTOp Layer
Virtual Memory Definitions and Constants
#define PTE_P 0x001 //* Present.
#define PTE_W 0x002 //* Write.
#define PTE_U 0x004 //* User.
#define PTE_G 0x100 //* Global.
#define PAGESIZE 4096 //* Page size.
#define VA_PDIR_MASK 0xFFC00000 //* Mask for bits [31:22] for the page directory index.
#define VA_PTBL_MASK 0x003FF000 //* Mask for bits [21:12] for the page table index.
#define VM_USERLO 0x40000000 //* Starting user address.
#define VM_USERHI 0xF0000000 //* Ending user address.
#define PT_PERM_PWG (PTE_P | PTE_W | PTE_G) //* Permission for kernel memory.
#define PT_PERM_PW (PTE_P | PTE_W) //* Permission for the rest of memory.Function: get_ptbl_entry_by_va
get_ptbl_entry_by_vaFunction: get_pdir_entry_by_va
get_pdir_entry_by_vaFunction: rmv_ptbl_entry_by_va
rmv_ptbl_entry_by_vaFunction: rmv_pdir_entry_by_va
rmv_pdir_entry_by_vaFunction: set_ptbl_entry_by_va
set_ptbl_entry_by_vaFunction: set_pdir_entry_by_va
set_pdir_entry_by_vaFunction: idptbl_init
idptbl_initLast updated