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
|