version 1.77.16.1, 2006/06/21 14:49:33 |
version 1.77.16.2, 2007/02/26 09:05:59 |
Line 170 struct pmap_devmap { |
|
Line 170 struct pmap_devmap { |
|
*/ |
*/ |
struct pmap { |
struct pmap { |
u_int8_t pm_domain; |
u_int8_t pm_domain; |
boolean_t pm_remove_all; |
bool pm_remove_all; |
struct l1_ttable *pm_l1; |
struct l1_ttable *pm_l1; |
union pmap_cache_state pm_cstate; |
union pmap_cache_state pm_cstate; |
struct uvm_object pm_obj; |
struct uvm_object pm_obj; |
Line 252 extern int pmap_debug_level; /* Only ex |
|
Line 252 extern int pmap_debug_level; /* Only ex |
|
*/ |
*/ |
void pmap_procwr(struct proc *, vaddr_t, int); |
void pmap_procwr(struct proc *, vaddr_t, int); |
void pmap_remove_all(pmap_t); |
void pmap_remove_all(pmap_t); |
boolean_t pmap_extract(pmap_t, vaddr_t, paddr_t *); |
bool pmap_extract(pmap_t, vaddr_t, paddr_t *); |
|
|
#define PMAP_NEED_PROCWR |
#define PMAP_NEED_PROCWR |
#define PMAP_GROWKERNEL /* turn on pmap_growkernel interface */ |
#define PMAP_GROWKERNEL /* turn on pmap_growkernel interface */ |
Line 262 void pmap_bootstrap(pd_entry_t *, vaddr_ |
|
Line 262 void pmap_bootstrap(pd_entry_t *, vaddr_ |
|
|
|
void pmap_do_remove(pmap_t, vaddr_t, vaddr_t, int); |
void pmap_do_remove(pmap_t, vaddr_t, vaddr_t, int); |
int pmap_fault_fixup(pmap_t, vaddr_t, vm_prot_t, int); |
int pmap_fault_fixup(pmap_t, vaddr_t, vm_prot_t, int); |
boolean_t pmap_get_pde_pte(pmap_t, vaddr_t, pd_entry_t **, pt_entry_t **); |
bool pmap_get_pde_pte(pmap_t, vaddr_t, pd_entry_t **, pt_entry_t **); |
boolean_t pmap_get_pde(pmap_t, vaddr_t, pd_entry_t **); |
bool pmap_get_pde(pmap_t, vaddr_t, pd_entry_t **); |
void pmap_set_pcb_pagedir(pmap_t, struct pcb *); |
void pmap_set_pcb_pagedir(pmap_t, struct pcb *); |
|
|
void pmap_debug(int); |
void pmap_debug(int); |
Line 285 void pmap_devmap_register(const struct p |
|
Line 285 void pmap_devmap_register(const struct p |
|
/* |
/* |
* Special page zero routine for use by the idle loop (no cache cleans). |
* Special page zero routine for use by the idle loop (no cache cleans). |
*/ |
*/ |
boolean_t pmap_pageidlezero(paddr_t); |
bool pmap_pageidlezero(paddr_t); |
#define PMAP_PAGEIDLEZERO(pa) pmap_pageidlezero((pa)) |
#define PMAP_PAGEIDLEZERO(pa) pmap_pageidlezero((pa)) |
|
|
/* |
/* |
Line 304 vtopte(vaddr_t va) |
|
Line 304 vtopte(vaddr_t va) |
|
pd_entry_t *pdep; |
pd_entry_t *pdep; |
pt_entry_t *ptep; |
pt_entry_t *ptep; |
|
|
if (pmap_get_pde_pte(pmap_kernel(), va, &pdep, &ptep) == FALSE) |
if (pmap_get_pde_pte(pmap_kernel(), va, &pdep, &ptep) == false) |
return (NULL); |
return (NULL); |
return (ptep); |
return (ptep); |
} |
} |
Line 317 vtophys(vaddr_t va) |
|
Line 317 vtophys(vaddr_t va) |
|
{ |
{ |
paddr_t pa; |
paddr_t pa; |
|
|
if (pmap_extract(pmap_kernel(), va, &pa) == FALSE) |
if (pmap_extract(pmap_kernel(), va, &pa) == false) |
return (0); /* XXXSCW: Panic? */ |
return (0); /* XXXSCW: Panic? */ |
|
|
return (pa); |
return (pa); |