Expand description
This very specific to 64-bit x86 architecture, if this is to be ported to other architectures this will need to be changed
Modulesยง
Structsยง
Constantsยง
- ADDR_
MASK ๐ - KERNEL_
L3_ ๐INDEX_ END - KERNEL_
L3_ ๐INDEX_ START - KERNEL_
L3_ ๐PROCESS_ INDEX_ END - KERNEL_
L3_ ๐PROCESS_ INDEX_ START - KERNEL_
L4_ ๐INDEX - KERNEL_
PROCESS_ VIRTUAL_ ADDRESS_ START - MAX_
USER_ VIRTUAL_ ADDRESS - NUM_
USER_ ๐L4_ INDEXES
Staticsยง
Functionsยง
- clone_
current_ vm_ as_ user - get_
current_ vm - get_l1 ๐
- get_l2 ๐
- get_l3 ๐
- get_l4 ๐
- init_
kernel_ vm - is_
address_ mapped_ in_ kernel - map_
kernel - switch_
to_ โkernel - Safety
- unmap_
kernel is_allocated
is used to indicate if the physical pages were allocated by the caller i.e. when we calledmap_kernel
, thephysical_address
isNone
and we will allocate the pages, and thus when calling this function, you should passis_allocated = true