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


pmapmachine-dependent portion of virtual memory subsystem


#include < sys/param.h>
#include < vm/vm.h>
#include < vm/pmap.h>


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.


This manual page was written by Bruce M Simpson <bms@spc.org>.
July 18, 2014 FreeBSD