Made the prototypes for pmap_kenter and pmap_kremove MD. These functions

are machine dependent because they are not required to update the tlb when
mappings are added or removed, and doing so is machine dependent.
In addition, an implementation may require that pages mapped with pmap_kenter
have a backing vm_page_t, which is not necessarily true of all physical
pages, and so may choose to pass the vm_page_t to pmap_kenter instead of the
physical address in order to make this requirement clear.
This commit is contained in:
Jake Burkholder 2003-03-16 04:16:03 +00:00
parent 90ba40bfc9
commit 5501d40bb9
7 changed files with 12 additions and 2 deletions

View File

@ -224,6 +224,8 @@ struct vmspace;
vm_offset_t pmap_steal_memory(vm_size_t);
void pmap_bootstrap(vm_offset_t, u_int);
void pmap_kenter(vm_offset_t va, vm_offset_t pa);
void pmap_kremove(vm_offset_t);
void pmap_setdevram(unsigned long long basea, vm_offset_t sizea);
int pmap_uses_prom_console(void);
void *pmap_mapdev(vm_offset_t, vm_size_t);

View File

@ -247,6 +247,8 @@ extern vm_offset_t virtual_avail;
extern vm_offset_t virtual_end;
void pmap_bootstrap(vm_offset_t, vm_offset_t);
void pmap_kenter(vm_offset_t va, vm_offset_t pa);
void pmap_kremove(vm_offset_t);
void *pmap_mapdev(vm_offset_t, vm_size_t);
void pmap_unmapdev(vm_offset_t, vm_size_t);
pt_entry_t *pmap_pte(pmap_t, vm_offset_t) __pure2;

View File

@ -247,6 +247,8 @@ extern vm_offset_t virtual_avail;
extern vm_offset_t virtual_end;
void pmap_bootstrap(vm_offset_t, vm_offset_t);
void pmap_kenter(vm_offset_t va, vm_offset_t pa);
void pmap_kremove(vm_offset_t);
void *pmap_mapdev(vm_offset_t, vm_size_t);
void pmap_unmapdev(vm_offset_t, vm_size_t);
pt_entry_t *pmap_pte(pmap_t, vm_offset_t) __pure2;

View File

@ -126,6 +126,8 @@ extern vm_offset_t virtual_end;
vm_offset_t pmap_steal_memory(vm_size_t);
void pmap_bootstrap(void);
void pmap_kenter(vm_offset_t va, vm_offset_t pa);
void pmap_kremove(vm_offset_t);
void pmap_setdevram(unsigned long long basea, vm_offset_t sizea);
int pmap_uses_prom_console(void);
void *pmap_mapdev(vm_offset_t, vm_size_t);

View File

@ -69,6 +69,8 @@ extern struct pmap kernel_pmap_store;
#ifdef _KERNEL
void pmap_bootstrap(vm_offset_t, vm_offset_t);
void pmap_kenter(vm_offset_t va, vm_offset_t pa);
void pmap_kremove(vm_offset_t);
void *pmap_mapdev(vm_offset_t, vm_size_t);
void pmap_unmapdev(vm_offset_t, vm_size_t);
void pmap_deactivate(struct thread *);

View File

@ -79,6 +79,8 @@ struct pmap {
void pmap_bootstrap(vm_offset_t ekva);
void pmap_context_rollover(void);
vm_offset_t pmap_kextract(vm_offset_t va);
void pmap_kenter(vm_offset_t va, vm_offset_t pa);
void pmap_kremove(vm_offset_t);
void pmap_kenter_flags(vm_offset_t va, vm_offset_t pa, u_long flags);
void pmap_kremove_flags(vm_offset_t va);

View File

@ -111,8 +111,6 @@ void pmap_growkernel(vm_offset_t);
void pmap_init(vm_offset_t, vm_offset_t);
boolean_t pmap_is_modified(vm_page_t m);
boolean_t pmap_ts_referenced(vm_page_t m);
void pmap_kenter(vm_offset_t va, vm_offset_t pa);
void pmap_kremove(vm_offset_t);
vm_offset_t pmap_map(vm_offset_t *, vm_offset_t, vm_offset_t, int);
void pmap_object_init_pt(pmap_t pmap, vm_offset_t addr,
vm_object_t object, vm_pindex_t pindex, vm_offset_t size,