diff options
author | jake <jake@FreeBSD.org> | 2003-03-16 04:16:03 +0000 |
---|---|---|
committer | jake <jake@FreeBSD.org> | 2003-03-16 04:16:03 +0000 |
commit | c1838df6038e28d81384d7cf1c41a66c07de573c (patch) | |
tree | b4320d9a35b4f77739a9768a8ef6ffb4331ffdc6 /sys | |
parent | e37ecfb7d364bfcd2e67ecefb7022d3c08b055ae (diff) | |
download | FreeBSD-src-c1838df6038e28d81384d7cf1c41a66c07de573c.zip FreeBSD-src-c1838df6038e28d81384d7cf1c41a66c07de573c.tar.gz |
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.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/alpha/include/pmap.h | 2 | ||||
-rw-r--r-- | sys/amd64/include/pmap.h | 2 | ||||
-rw-r--r-- | sys/i386/include/pmap.h | 2 | ||||
-rw-r--r-- | sys/ia64/include/pmap.h | 2 | ||||
-rw-r--r-- | sys/powerpc/include/pmap.h | 2 | ||||
-rw-r--r-- | sys/sparc64/include/pmap.h | 2 | ||||
-rw-r--r-- | sys/vm/pmap.h | 2 |
7 files changed, 12 insertions, 2 deletions
diff --git a/sys/alpha/include/pmap.h b/sys/alpha/include/pmap.h index fdfc7e4..01b29d5 100644 --- a/sys/alpha/include/pmap.h +++ b/sys/alpha/include/pmap.h @@ -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); diff --git a/sys/amd64/include/pmap.h b/sys/amd64/include/pmap.h index 3c8d410..92493e1 100644 --- a/sys/amd64/include/pmap.h +++ b/sys/amd64/include/pmap.h @@ -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; diff --git a/sys/i386/include/pmap.h b/sys/i386/include/pmap.h index 3c8d410..92493e1 100644 --- a/sys/i386/include/pmap.h +++ b/sys/i386/include/pmap.h @@ -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; diff --git a/sys/ia64/include/pmap.h b/sys/ia64/include/pmap.h index e2f6130..2644899 100644 --- a/sys/ia64/include/pmap.h +++ b/sys/ia64/include/pmap.h @@ -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); diff --git a/sys/powerpc/include/pmap.h b/sys/powerpc/include/pmap.h index 8419605..e737fad 100644 --- a/sys/powerpc/include/pmap.h +++ b/sys/powerpc/include/pmap.h @@ -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 *); diff --git a/sys/sparc64/include/pmap.h b/sys/sparc64/include/pmap.h index a14673e..b0325f9 100644 --- a/sys/sparc64/include/pmap.h +++ b/sys/sparc64/include/pmap.h @@ -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); diff --git a/sys/vm/pmap.h b/sys/vm/pmap.h index a403f6f..7cc6926 100644 --- a/sys/vm/pmap.h +++ b/sys/vm/pmap.h @@ -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, |