Module vm

Module vm 

Source
Expand description

Virtual memory module.

This module provides the virtual memory abstraction for the kernel. It includes functions for managing virtual address spaces.

Modulesยง

manager
Virtual Memory Manager module.
vmem

Structsยง

KernelKstackAllocator ๐Ÿ”’

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.