pmap_qenter(9)

pmap_qenter9

Manage temporary kernel space mappings

Usage

#include <sys/param.h>

#include <vm/vm.h>

#include <vm/pmap.h>

void

pmap_qenter(vm_offset_t sva, vm_page_t *m, int count);

void

pmap_qremove(vm_offset_t sva, int count);

Overview

The pmap_qenter() function accepts a linear array of count pointers to wired pages *m, and enters each of these pages into the kernel virtual address (KVA) space, beginning at the address sva. The pages are mapped non-executable, if possible. (For example, non-PAE i386 has no capability to map pages non-executable.)

The pmap_qremove() function tears out a mapping from the kernel virtual address space, beginning at sva and for count pages.

Implementation notes

The pmap_qenter() function is intended for temporary mappings that do not require page modification or reference counting. Old mappings are simply overwritten. The pages must be wired into physical memory.

The corresponding pmap_qremove() function is intended to remove such temporary mappings.

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.