|
| static void | vmm_cpu_ctx_init_common (vmm_cpu_ctx_t *ctx) |
| |
| void | vmm_init (void) |
| | Initializes the Virtual Memory Manager.
|
| |
| void | vmm_kernel_space_load (void) |
| | Loads the kernel's address space into the current CPU.
|
| |
| void | vmm_cpu_ctx_init (vmm_cpu_ctx_t *ctx) |
| | Initializes a per-CPU VMM context and performs per-CPU VMM initialization.
|
| |
| space_t * | vmm_kernel_space_get (void) |
| | Retrieves the kernel's address space.
|
| |
| pml_flags_t | vmm_prot_to_flags (prot_t prot) |
| | Converts the user space memory protection flags to page table entry flags.
|
| |
| static void | vmm_page_table_unmap_with_shootdown (space_t *space, void *virtAddr, uint64_t pageAmount) |
| |
| void * | vmm_alloc (space_t *space, void *virtAddr, uint64_t length, pml_flags_t pmlFlags, vmm_alloc_flags_t allocFlags) |
| | Allocates and maps virtual memory in a given address space.
|
| |
| void * | vmm_map (space_t *space, void *virtAddr, void *physAddr, uint64_t length, pml_flags_t flags, space_callback_func_t func, void *private) |
| | Maps physical memory to virtual memory in a given address space.
|
| |
| void * | vmm_map_pages (space_t *space, void *virtAddr, void **pages, uint64_t pageAmount, pml_flags_t flags, space_callback_func_t func, void *private) |
| | Maps an array of physical pages to virtual memory in a given address space.
|
| |
| void * | vmm_unmap (space_t *space, void *virtAddr, uint64_t length) |
| | Unmaps virtual memory from a given address space.
|
| |
| | SYSCALL_DEFINE (SYS_MUNMAP, void *, void *address, uint64_t length) |
| |
| void * | vmm_protect (space_t *space, void *virtAddr, uint64_t length, pml_flags_t flags) |
| | Changes memory protection flags for a virtual memory region in a given address space.
|
| |
| | SYSCALL_DEFINE (SYS_MPROTECT, void *, void *address, uint64_t length, prot_t prot) |
| |