30 lines
		
	
	
		
			697 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			697 B
		
	
	
	
		
			C
		
	
	
	
	
	
| 
 | |
| #ifndef _PT_H
 | |
| #define _PT_H 1
 | |
| 
 | |
| #include <machine/vm.h>
 | |
| 
 | |
| #include "vm.h"
 | |
| #include "pagetable.h"
 | |
| 
 | |
| /* A pagetable. */
 | |
| typedef struct {
 | |
| 	/* Directory entries in VM addr space - root of page table.  */
 | |
| 	u32_t *pt_dir;		/* page aligned (ARCH_VM_DIR_ENTRIES) */
 | |
| 	u32_t pt_dir_phys;	/* physical address of pt_dir */
 | |
| 
 | |
| 	/* Pointers to page tables in VM address space. */
 | |
| 	u32_t *pt_pt[ARCH_VM_DIR_ENTRIES];
 | |
| 
 | |
| 	/* When looking for a hole in virtual address space, start
 | |
| 	 * looking here. This is in linear addresses, i.e.,
 | |
| 	 * not as the process sees it but the position in the page
 | |
| 	 * page table. This is just a hint.
 | |
| 	 */
 | |
| 	u32_t pt_virtop;
 | |
| } pt_t;
 | |
| 
 | |
| #define CLICKSPERPAGE (VM_PAGE_SIZE/CLICK_SIZE)
 | |
| 
 | |
| #endif
 | 
