PMAP_INIT(9)

πŸ’– PMAP_INIT(9) πŸ’– β€” Kernel Developer's Manual, bestie edition

okay so you're in the kernel dev manual, section 9, and today's main character is PMAP_INIT β€” the pmap subsystem glow-up. she's giving "physical memory, but make it mapped." ✨


🌸 NAME 🌸

pmap_init, pmap_init2 β€” initialize the pmap subsystem πŸŽ€


✨ SYNOPSIS ✨

bestie the includes are mandatory, do not skip them, they are the outfit and the outfit must be complete πŸ’…

#include <sys/param.h>
#include <vm/vm.h>
#include <vm/pmap.h>

void
pmap_init(void);

void
pmap_init2(void);

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so listen. the pmap_init() function initializes the pmap(9) sub-system. periodt. it gets called during system initialization by vm_init(), and its whole job is to initialize any structures that the pmap_init system needs in order to map between physical and virtual memory. it's literally the matchmaker between your physical and virtual memory. no cap. πŸ”₯

the pmap_init2() function initializes a zone for the PV entries. and what are PV entries for, you ask? they're used to implement page sharing at the physical level 🫢. and here's the important part β€” a high water mark is set so that the system can recover from excessive numbers of PV entries. so if the PV entries get a little too main character and start hoarding, the system can still bounce back. it's giving resilience. it's giving boundaries. πŸ’€


🌈 SEE ALSO 🌈

  • pmap(9) β€” the icon herself πŸŽ€

πŸ‘‘ AUTHORS πŸ‘‘

this manual page was written by Bruce M Simpson <bms@spc.org>. we love a credited author, we stan properly attributed work, fr fr πŸ’œ


🧚 reminder bestie: this page lives in the kernel developer's manual, so it's for the people poking at the actual guts of the system. read the includes, respect the includes.

Debian Β· June 10, 2005 Β· and that's the whole PMAP_INIT(9) page, slay, go map some memory responsibly πŸŒΈβœ¨πŸ’–

πŸ“¦ where this page comes from