aboutsummaryrefslogtreecommitdiff
path: root/sys/arm/include/pmap.h
diff options
context:
space:
mode:
authorIan Lepore <ian@FreeBSD.org>2015-04-10 13:26:35 +0000
committerIan Lepore <ian@FreeBSD.org>2015-04-10 13:26:35 +0000
commit7669914f3268c13368347488e91271f0ba050482 (patch)
treea2fb3d304764a48fcd52b1ea4b3aae9698b2dfc5 /sys/arm/include/pmap.h
parent78261920b0e1b4f91d3d6ac5c5bdf965a391ab08 (diff)
downloadsrc-7669914f3268c13368347488e91271f0ba050482.tar.gz
src-7669914f3268c13368347488e91271f0ba050482.zip
Add a pmap_kremove_device() to undo mappings made with pmap_kenter_device().
Previously we used pmap_kremove(), but with ARM_NEW_PMAP it does the remove in a way that isn't SMP-coherent (which is appropriate in some circumstances such as mapping/unmapping sf buffers). With matching enter/remove routines for device mappings, each low-level implementation can do the right thing. Reviewed by: Svatopluk Kraus <onwahe@gmail.com>
Notes
Notes: svn path=/head/; revision=281369
Diffstat (limited to 'sys/arm/include/pmap.h')
-rw-r--r--sys/arm/include/pmap.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/arm/include/pmap.h b/sys/arm/include/pmap.h
index b88ca32638ef..c42a36ffcf0e 100644
--- a/sys/arm/include/pmap.h
+++ b/sys/arm/include/pmap.h
@@ -258,7 +258,8 @@ void pmap_bootstrap(vm_offset_t firstaddr, struct pv_addr *l1pt);
int pmap_change_attr(vm_offset_t, vm_size_t, int);
void pmap_kenter(vm_offset_t va, vm_paddr_t pa);
void pmap_kenter_nocache(vm_offset_t va, vm_paddr_t pa);
-void pmap_kenter_device(vm_offset_t va, vm_paddr_t pa);
+void pmap_kenter_device(vm_offset_t, vm_size_t, vm_paddr_t);
+void pmap_kremove_device(vm_offset_t, vm_size_t);
void *pmap_kenter_temporary(vm_paddr_t pa, int i);
void pmap_kenter_user(vm_offset_t va, vm_paddr_t pa);
vm_paddr_t pmap_kextract(vm_offset_t va);