Expand description
Virtual memory module.
This module provides the virtual memory abstraction for the kernel. It includes functions for managing virtual address spaces.
Modulesยง
Structsยง
Staticsยง
- KERNEL_
AREA ๐ - KERNEL_
VM_ ๐MANAGER - KSTACK_
ALLOC_ ๐ONCE - TRAMPOLINE_
ARCH ๐ - TRAMPOLINE_
TRAP_ ๐VECTOR
Functionsยง
- get_
kernel_ vm_ manager - get_
trampoline_ arch - get_
trampoline_ trap_ vector - kernel_
vm_ init - kstack_
alloc ๐ - set_
trampoline_ arch - set_
trampoline_ trap_ vector - setup_
trampoline_ for_ task_ kstack_ window - Map the taskโs kernel stack physical pages into the shared kernel PT at a unique high VA window. Adds an unmapped guard page at the bottom of the window.
- setup_
user_ stack - switch_
to_ kernel_ vm - switch_
to_ user_ vm - teardown_
trampoline_ for_ task_ kstack_ window - Unmap and free the taskโs kernel stack window from the shared kernel PT.
- user_
kernel_ vm_ init - user_
vm_ init - verify_
task_ kernel_ stack_ guard - Verify that a taskโs kernel stack guard page is unmapped and stack pages are mapped. Returns true if the guard page has no associated memory map and a sample stack address is mapped.