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⟩.