summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorjake <jake@FreeBSD.org>2003-03-16 04:16:03 +0000
committerjake <jake@FreeBSD.org>2003-03-16 04:16:03 +0000
commitc1838df6038e28d81384d7cf1c41a66c07de573c (patch)
treeb4320d9a35b4f77739a9768a8ef6ffb4331ffdc6 /sys
parente37ecfb7d364bfcd2e67ecefb7022d3c08b055ae (diff)
downloadFreeBSD-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.h2
-rw-r--r--sys/amd64/include/pmap.h2
-rw-r--r--sys/i386/include/pmap.h2
-rw-r--r--sys/ia64/include/pmap.h2
-rw-r--r--sys/powerpc/include/pmap.h2
-rw-r--r--sys/sparc64/include/pmap.h2
-rw-r--r--sys/vm/pmap.h2
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,
OpenPOWER on IntegriCloud