*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->FreeBSD man pages -> pmap_extract_and_hold (9)              
Title
Content
Arch
Section
 

PMAP_EXTRACT(9)

Contents


NAME    [Toc]    [Back]

     pmap_extract, pmap_extract_and_hold -- map a virtual address to a physical
 page

SYNOPSIS    [Toc]    [Back]

     #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    [Toc]    [Back]

     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    [Toc]    [Back]

     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    [Toc]    [Back]

     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    [Toc]    [Back]

      
      
     mutex(9), pmap(9)

AUTHORS    [Toc]    [Back]

     The pmap_extract_and_hold() function was implemented by Alan L. Cox
     <[email protected]>.	This manual page was written by Bruce M Simpson
     <[email protected]>.


				 July 21, 2003
[ Back ]
 Similar pages
Name OS Title
KSEG_TO_PHYS Tru64 General: Converts a kernel-unmapped virtual address to a physical address
pmap_enter FreeBSD insert a virtual page into a physical map
svatophys Tru64 General: Converts a system virtual address to a physical address
copy_to_phys Tru64 General: Copies data from a virtual address to a physical address
vtop Tru64 General: Converts any virtual address to a physical address
pmap_extract Tru64 General: Extracts a physical page address
pmap_mincore FreeBSD determine if a virtual address is resident in physical memory
pmap_change_wiring FreeBSD change physical wiring for a map or virtual address pair
pmap_map FreeBSD map a physical memory range into kernel virtual address (KVA) space
pmap_protect FreeBSD set physical page protection
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service