The
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
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
implementation.
The header file
#include <vm/pmap.h>
defines a structure for tracking
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
operation.