Provided by: freebsd-manpages_9.2+1-1_all bug

NAME

     pmap_extract, pmap_extract_and_hold — map a virtual address to a physical page

SYNOPSIS

     #include <sys/param.h>
     #include <vm/vm.h>
     #include <vm/pmap.h>

     vm_paddr_t
     pmap_extract(pmap_t pmap, vm_offset_t va);

     vm_paddr_t
     pmap_extract_and_hold(pmap_t pmap, vm_offset_t va, vm_prot_t prot);

DESCRIPTION

     The pmap_extract() function maps a virtual address to a physical page.  In certain
     situations, callers may use pmap_extract_and_hold() instead, to ensure that the returned
     page is held.

     The pmap_extract_and_hold() function maps a virtual address to a physical page, and
     atomically holds the returned page for use by the caller, only if the mapping permits the
     given page protection.

IMPLEMENTATION NOTES

     Currently, the page protection requested by the caller is not verified.

RETURN VALUES

     The pmap_extract() function will return the physical page address associated with the
     virtual address va inside the physical map pmap.  If the mapping does not exist, or if the
     pmap parameter is NULL, then NULL will be returned.

     The pmap_extract_and_hold() function will return the physical page address associated with
     the virtual address va inside the physical map pmap.  If the mapping does not exist, the
     result is a no-op, and NULL will be returned.

SEE ALSO

     mutex(9), pmap(9)

AUTHORS

     The pmap_extract_and_hold() function was implemented by Alan L. Cox <alc@imimic.com>.  This
     manual page was written by Bruce M Simpson <bms@spc.org>.