diff options
-rw-r--r-- | sys/alpha/alpha/pmap.c | 5 | ||||
-rw-r--r-- | sys/amd64/amd64/pmap.c | 5 | ||||
-rw-r--r-- | sys/i386/i386/pmap.c | 5 | ||||
-rw-r--r-- | sys/ia64/ia64/pmap.c | 5 | ||||
-rw-r--r-- | sys/sparc64/sparc64/pmap.c | 5 | ||||
-rw-r--r-- | sys/vm/pmap.h | 3 |
6 files changed, 17 insertions, 11 deletions
diff --git a/sys/alpha/alpha/pmap.c b/sys/alpha/alpha/pmap.c index a2f5a50..82ab789 100644 --- a/sys/alpha/alpha/pmap.c +++ b/sys/alpha/alpha/pmap.c @@ -815,10 +815,11 @@ pmap_extract(pmap, va) * Routine: pmap_extract_and_hold * Function: * Atomically extract and hold the physical page - * with the given pmap and virtual address. + * with the given 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; diff --git a/sys/amd64/amd64/pmap.c b/sys/amd64/amd64/pmap.c index fed7dac..76e5d26 100644 --- a/sys/amd64/amd64/pmap.c +++ b/sys/amd64/amd64/pmap.c @@ -753,10 +753,11 @@ pmap_extract(pmap, va) * Routine: pmap_extract_and_hold * Function: * Atomically extract and hold the physical page - * with the given pmap and virtual address. + * with the given 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; diff --git a/sys/i386/i386/pmap.c b/sys/i386/i386/pmap.c index 924a14f..b0d6526 100644 --- a/sys/i386/i386/pmap.c +++ b/sys/i386/i386/pmap.c @@ -865,10 +865,11 @@ pmap_extract(pmap, va) * Routine: pmap_extract_and_hold * Function: * Atomically extract and hold the physical page - * with the given pmap and virtual address. + * with the given 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; diff --git a/sys/ia64/ia64/pmap.c b/sys/ia64/ia64/pmap.c index aa9653f..b802810 100644 --- a/sys/ia64/ia64/pmap.c +++ b/sys/ia64/ia64/pmap.c @@ -1106,10 +1106,11 @@ pmap_extract(pmap, va) * Routine: pmap_extract_and_hold * Function: * Atomically extract and hold the physical page - * with the given pmap and virtual address. + * with the given 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; 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; diff --git a/sys/vm/pmap.h b/sys/vm/pmap.h index 29f20c2..8776966 100644 --- a/sys/vm/pmap.h +++ b/sys/vm/pmap.h @@ -106,7 +106,8 @@ void pmap_enter(pmap_t, vm_offset_t, vm_page_t, vm_prot_t, vm_page_t pmap_enter_quick(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_page_t mpte); vm_paddr_t pmap_extract(pmap_t pmap, vm_offset_t va); -vm_page_t pmap_extract_and_hold(pmap_t pmap, vm_offset_t va); +vm_page_t pmap_extract_and_hold(pmap_t pmap, vm_offset_t va, + vm_prot_t prot); void pmap_growkernel(vm_offset_t); void pmap_init(vm_paddr_t, vm_paddr_t); boolean_t pmap_is_modified(vm_page_t m); |