Provided by: freebsd-manpages_6.2-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.
      Currently, the page protection requested by the caller is not verified.
 
      In the pmap_extract_and_hold() function, the Giant lock is held for the
      duration of the call to ensure that only a single caller is present.
      The pmap_extract() function will return the physical page address associ‐
      ated 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.
      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〉.