pmap_extract(9)
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.
- 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.
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 physi
- cal 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>.
- BSD July 21, 2003