:man| Alphabetical   Categories   About us 
PMAP (9) | Kernel routines | Unix Manual Pages | :man


pmap - machine-dependent portion of virtual memory subsystem


See Also


.In sys/param.h
.In vm/vm.h
.In vm/pmap.h


The pmap module is the machine-dependent portion of the
.Fx 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
.In machine/pmap.h . This file contains the definition of the
.Vt 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
.In 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
.Vt "struct pmap" must contain an instance of this structure having the name pm_stats, and it must be updated by the implementation after each relevant pmap operation.


pmap(9), pmap_activate(9), pmap_addr_hint(9), pmap_change_wiring(9), pmap_clear_modify(9), pmap_clear_reference(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_page_protect(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_modified(9), pmap_wired_count(9), pmap_zero_area(9), pmap_zero_idle(9), pmap_zero_page(9), vm_map(9)


Created by Blin Media, 2008-2013