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
Copyright © 2010-2025 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout