FreeBSD manual
download PDF document: pmap_extract.9.pdf
PMAP_EXTRACT(9) FreeBSD Kernel Developer's Manual 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_page_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 vm_page_t 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>.
FreeBSD 14.0-RELEASE-p11 July 21, 2003 FreeBSD 14.0-RELEASE-p11