pmap_map(9)

pmap_map9

Map a physical memory range into kernel virtual address (kva) space

Usage

#include <sys/param.h>

#include <vm/vm.h>

#include <vm/pmap.h>

vm_offset_t

pmap_map(vm_offset_t *virt, vm_paddr_t start, vm_paddr_t end, int prot);

Overview

The pmap_map() function maps a range of physical addresses into kernel virtual address (KVA) space, from start to end, with protection bits prot.

The value passed in *virt is treated as a hint for the virtual address of the beginning of the mapping.

Implementation notes

The prot argument is currently ignored by machine-dependent implementations.

Architectures which can support a direct mapped physical to virtual region can return the appropriate address within that region, leaving *virt unchanged.

Return values

The pmap_map() function returns the virtual address of the beginning of the mapping, if the mapping was successfully made; *virt will also be updated with the first usable address after the mapped region.

If the function is unsuccessful, NULL is returned.

Releases

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

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