pmap(9)

pmap9

Machine-dependent portion of virtual memory subsystem

Usage

#include <sys/param.h>

#include <vm/vm.h>

#include <vm/pmap.h>

Overview

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.

Releases

54 releases since FreeBSD 5.2-RELEASE; the text changed 35 times.

  1. 5.2–5.2.1
  2. 5.3–5.5
  3. 6.0–6.3
  4. 6.4
  5. 7.0
  6. 7.1
  7. 7.2
  8. 7.3
  9. 7.4
  10. 8.0
  11. 8.1
  12. 8.2
  13. 8.3
  14. 8.4
  15. 9.0
  16. 9.1
  17. 9.2
  18. 9.3
  19. 10.0
  20. 10.1
  21. 10.2
  22. 10.3
  23. 10.4
  24. 11.0
  25. 11.1
  26. 11.2
  27. 11.3
  28. 11.4
  29. 12.0
  30. 12.1
  31. 12.2
  32. 12.3
  33. 12.4
  34. 13.0–13.2
  35. 13.3–14.5
  36. 15.0–16.0

Authors

This manual page was written by Bruce M Simpson ⟨[email protected]⟩.

From base 16.0-CURRENT-20261027-61c70dc16a79 in FreeBSD 16.0-CURRENT (2026-10-27). Parsed by carta from the page's mdoc source.