FreeBSD manual
download PDF document: pmap.9.pdf
PMAP(9) FreeBSD 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
implementation after each relevant pmap operation.
SEE ALSO
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_quick_enter_page(9),
pmap_quick_remove_page(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_page(9), vm_map(9)
AUTHORS
This manual page was written by Bruce M Simpson <bms@spc.org>.
FreeBSD 14.0-RELEASE-p11 August 30, 2016 FreeBSD 14.0-RELEASE-p11