VM_MAP_SUBMAP(9)
π VM_MAP_SUBMAP(9) π
okay bestie, welcome to the Kernel Developer's Manual page for vm_map_submap β yes we're reading kernel man pages for fun now, this is who we are, and honestly? iconic behavior. π
β¨ NAME β¨
vm_map_submap β create a subordinate map
πΈ SYNOPSIS πΈ
#include <sys/param.h>
#include <vm/vm.h>
#include <vm/vm_map.h>
int
vm_map_submap(vm_map_t map, vm_offset_t start, vm_offset_t end,
vm_map_t submap);
π¦ DESCRIPTION π¦
So the vm_map_submap() function marks the range bounded by start and end within the map map as being handled by a subordinate map sub_map. it's giving delegation, it's giving "you handle this zone now bestie". π
It is generally called by the kernel memory allocator. yes, the kernel memory allocator is the one sliding into its DMs, that's just the vibe here.
π IMPLEMENTATION NOTES π
This function is for internal use only. read: not for you, not for me, internal only, periodt. π
Both maps must exist. The range must have been created with vm_map_find(9) previously. no range, no submap, no exceptions. β¨
No other operations may have been performed on this range before calling this function. Only the vm_fault() operation may be performed within this range after calling this function. so like... one specific door is open afterwards and that's it, okay? the range is basically in its locked-in era. π
To remove a submapping, one must first remove the range from the parent map, and then destroy the sub_map. This procedure is not recommended. π¨ like, technically possible, spiritually inadvisable, lowkey cursed β proceed at your own risk.
π RETURN VALUES π
The vm_map_submap() function returns KERN_SUCCESS if successful. slay, we love a happy ending. π«Ά
Otherwise, it returns KERN_INVALID_ARGUMENT if the caller requested copy-on-write flags, or if the range specified for the sub-map was out of range for the parent map, or if a NULL backing object was specified. any of those three and it's a no from the kernel, sorry bestie. π
π SEE ALSO π
β AUTHORS β
This manual page was written by Bruce M Simpson <bms@spc.org>. king behavior, we thank him for his service. π
ok so that's the whole page bestie, no notes, we read the entire thing, main character energy fr fr π¦β¨
this lil gem came from Debian, dated July 19, 2003 β vintage and still relevant, we love a timeless queen π bye pookie! π
π¦ where this page comes from
- debian bookworm: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- debian trixie: freebsd-manpages 12.2-2 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu jammy: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu noble: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu questing: freebsd-manpages 12.2-2
- ubuntu resolute: freebsd-manpages 12.2-2build1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu stonking: freebsd-manpages 12.2-2build1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- Copyright (c) 2003 Bruce M Simpson <bms@spc.org>
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms