diff options
Diffstat (limited to 'i386/intel/pmap.h')
-rw-r--r-- | i386/intel/pmap.h | 32 |
1 files changed, 28 insertions, 4 deletions
diff --git a/i386/intel/pmap.h b/i386/intel/pmap.h index 93293e3d..382cd5f4 100644 --- a/i386/intel/pmap.h +++ b/i386/intel/pmap.h @@ -192,6 +192,16 @@ extern void pmap_clear_bootstrap_pagetable(pt_entry_t *addr); #define set_pmap(pmap) set_cr3(kvtophys((vm_offset_t)(pmap)->dirbase)) #endif /* PAE */ +typedef struct { + pt_entry_t *entry; + vm_offset_t vaddr; +} pmap_mapwindow_t; + +extern pmap_mapwindow_t *pmap_get_mapwindow(pt_entry_t entry); +extern void pmap_put_mapwindow(pmap_mapwindow_t *map); + +#define PMAP_NMAPWINDOWS 2 + #if NCPUS > 1 /* * List of cpus that are actively using mapped memory. Any @@ -227,7 +237,7 @@ extern pmap_t kernel_pmap; * Machine dependent routines that are used only for i386/i486. */ -pt_entry_t *pmap_pte(pmap_t pmap, vm_offset_t addr); +pt_entry_t *pmap_pte(const pmap_t pmap, vm_offset_t addr); /* * Macros for speed. @@ -282,7 +292,7 @@ pt_entry_t *pmap_pte(pmap_t pmap, vm_offset_t addr); } #define PMAP_ACTIVATE_USER(pmap, th, my_cpu) { \ - register pmap_t tpmap = (pmap); \ + pmap_t tpmap = (pmap); \ \ if (tpmap == kernel_pmap) { \ /* \ @@ -324,7 +334,7 @@ pt_entry_t *pmap_pte(pmap_t pmap, vm_offset_t addr); } #define PMAP_DEACTIVATE_USER(pmap, thread, my_cpu) { \ - register pmap_t tpmap = (pmap); \ + pmap_t tpmap = (pmap); \ \ /* \ * Do nothing if this is the kernel pmap. \ @@ -395,7 +405,7 @@ pt_entry_t *pmap_pte(pmap_t pmap, vm_offset_t addr); } #define PMAP_ACTIVATE_USER(pmap, th, my_cpu) { \ - register pmap_t tpmap = (pmap); \ + pmap_t tpmap = (pmap); \ (void) (th); \ (void) (my_cpu); \ \ @@ -451,6 +461,20 @@ extern void pmap_copy_page (vm_offset_t, vm_offset_t); */ extern vm_offset_t kvtophys (vm_offset_t); +void pmap_remove_range( + pmap_t pmap, + vm_offset_t va, + pt_entry_t *spte, + pt_entry_t *epte); + +#if NCPUS > 1 +void signal_cpus( + cpu_set use_list, + pmap_t pmap, + vm_offset_t start, + vm_offset_t end); +#endif /* NCPUS > 1 */ + #endif /* __ASSEMBLER__ */ #endif /* _PMAP_MACHINE_ */ |