PMAP_QENTER(9)
okay so bestie, welcome to PMAP_QENTER(9) from the Kernel Developer's Manual β¨ this page is giving temporary kernel-space mapping management, and we're gonna get into it.
π NAME π
pmap_qenter, pmap_qremove β manage temporary kernel space mappings π«Ά
β¨ SYNOPSIS β¨
#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);
π¦ DESCRIPTION π¦
Okay so pmap_qenter() takes a linear array of count pointers to wired pages, and that array is m β yes bestie, the wired-page pointer lineup β and it enters each one of those pages into kernel virtual address (KVA) space, starting at the address sva. The pages are mapped non-executable, if possible. Not me being shady, but the page itself gives the example that non-PAE i386 has no capability to map pages non-executable π. So like, βif possibleβ is doing real work there.
Then pmap_qremove() tears out a mapping from the kernel virtual address space, beginning at sva and going for count pages π
periodt.
π₯ IMPLEMENTATION NOTES π₯
pmap_qenter() is intended for temporary mappings that do not require page modification or reference counting. Old mappings? Simply overwritten, no cap. Also mandatory: the pages must be wired into physical memory. Like, thatβs not optional, bestie π«Ά.
The corresponding pmap_qremove() function is intended to remove such temporary mappings. Iconic cleanup behavior fr fr.
π SEE ALSO π
πΈ AUTHORS πΈ
This manual page was written by Bruce M Simpson <bms@spc.org> π.
and thatβs the whole page, bestie! it came from the Debian edition, dated February 15, 2018, and itβs the PMAP_QENTER(9) page β mwah π
π¦ where this page comes from
- freebsd 14.5: base 14.5
- freebsd 15.1: base 15.1
- Copyright (c) 2003 Bruce M Simpson <bms@spc.org>
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms