home | help
PMAP(9) 		    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 ar-
     chitecture-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 im-
     plementation.

     The header file <vm/pmap.h> defines a structure for tracking  pmap  statis-
     tics (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 af-
     ter 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_growker-
     nel(9),   pmap_init(9),	pmap_is_modified(9),	pmap_is_prefaultable(9),
     pmap_kextract(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_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_resi-
     dent_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 15.1			January 12, 2024			 PMAP(9)

home | help