1 2 #ifndef _PT_H 3 #define _PT_H 1 4 5 #include <machine/vm.h> 6 7 #include "vm.h" 8 #include "pagetable.h" 9 10 /* A pagetable. */ 11 typedef struct { 12 /* Directory entries in VM addr space - root of page table. */ 13 u32_t *pt_dir; /* page aligned (ARCH_VM_DIR_ENTRIES) */ 14 u32_t pt_dir_phys; /* physical address of pt_dir */ 15 16 /* Pointers to page tables in VM address space. */ 17 u32_t *pt_pt[ARCH_VM_DIR_ENTRIES]; 18 19 /* When looking for a hole in virtual address space, start 20 * looking here. This is in linear addresses, i.e., 21 * not as the process sees it but the position in the page 22 * page table. This is just a hint. 23 */ 24 u32_t pt_virtop; 25 } pt_t; 26 27 #define CLICKSPERPAGE (VM_PAGE_SIZE/CLICK_SIZE) 28 29 #endif 30