summaryrefslogtreecommitdiffstats
path: root/sys/sparc64
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2003-09-12 07:07:49 +0000
committeralc <alc@FreeBSD.org>2003-09-12 07:07:49 +0000
commit76fcb264a0e0f5a09371c6617c166472bd775658 (patch)
tree5f4a5020e45c74f9697b892acbfe9e8f748c0816 /sys/sparc64
parent60909145e3ca1c6c165667bea0e781fb1526585d (diff)
downloadFreeBSD-src-76fcb264a0e0f5a09371c6617c166472bd775658.zip
FreeBSD-src-76fcb264a0e0f5a09371c6617c166472bd775658.tar.gz
Add a new parameter to pmap_extract_and_hold() that is needed to eliminate
Giant from vmapbuf(). Idea from: tegge
Diffstat (limited to 'sys/sparc64')
-rw-r--r--sys/sparc64/sparc64/pmap.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/sparc64/sparc64/pmap.c b/sys/sparc64/sparc64/pmap.c
index f532152..81dd685 100644
--- a/sys/sparc64/sparc64/pmap.c
+++ b/sys/sparc64/sparc64/pmap.c
@@ -622,10 +622,11 @@ pmap_extract(pmap_t pm, vm_offset_t va)
/*
* Atomically extract and hold the physical page with the given
- * pmap and virtual address pair.
+ * pmap and virtual address pair if that mapping permits the given
+ * protection.
*/
vm_page_t
-pmap_extract_and_hold(pmap_t pmap, vm_offset_t va)
+pmap_extract_and_hold(pmap_t pmap, vm_offset_t va, vm_prot_t prot)
{
vm_paddr_t pa;
vm_page_t m;
OpenPOWER on IntegriCloud