Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

pmap_extract(9) [debian man page]

PMAP_EXTRACT(9) 					   BSD 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_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>. BSD
July 21, 2003 BSD

Check Out this Related Man Page

PMAP(9) 						   BSD Kernel Developer's Manual						   PMAP(9)

NAME
pmap -- machine-dependent portion of virtual memory subsystem SYNOPSIS
#include <sys/param.h> #include <vm/vm.h> #include <vm/pmap.h> DESCRIPTION
The pmap module is the machine-dependent portion of the FreeBSD VM (Virtual Memory) sub-system. Each function documented herein must have its own architecture-dependent implementation. The pmap module is responsible for managing hardware-dependent objects such as page tables, address maps, TLBs, etc. Machine-dependent code must provide the header file <machine/pmap.h>. This file contains the definition of the pmap structure: struct pmap { /* Contents defined by pmap implementation. */ }; typedef struct pmap *pmap_t; This header file may also define other data structures used by the pmap implementation. The header file <vm/pmap.h> defines a structure for tracking pmap statistics (see below). This structure is defined as: struct pmap_statistics { long resident_count; /* number of mapped pages */ long wired_count; /* number of wired pages */ }; The implementation's struct pmap must contain an instance of this structure having the name pm_stats, and it must be updated by the implemen- tation after each relevant pmap operation. SEE ALSO
pmap(9), pmap_activate(9), pmap_clear_modify(9), pmap_copy(9), pmap_copy_page(9), pmap_enter(9), pmap_extract(9), pmap_extract_and_hold(9), pmap_growkernel(9), pmap_init(9), pmap_init2(9), pmap_is_modified(9), pmap_is_prefaultable(9), pmap_map(9), pmap_mincore(9), pmap_object_init_pt(9), pmap_page_exists_quick(9), pmap_page_init(9), pmap_pinit(9), pmap_pinit0(9), pmap_pinit2(9), pmap_protect(9), pmap_qenter(9), pmap_qremove(9), pmap_release(9), pmap_remove(9), pmap_remove_all(9), pmap_remove_pages(9), pmap_resident_count(9), pmap_ts_referenced(9), pmap_unwire(9), pmap_wired_count(9), pmap_zero_area(9), pmap_zero_idle(9), pmap_zero_page(9), vm_map(9) AUTHORS
This manual page was written by Bruce M Simpson <bms@spc.org>. BSD
August 3, 2014 BSD
Man Page