![]() |
MOS Source Code
|
#include "mos/io/io.hpp"
#include "mos/mm/mm.hpp"
#include "mos/mm/mmstat.hpp"
#include "mos/mm/paging/table_ops.hpp"
#include <mos/lib/structures/bitmap.hpp>
#include <mos/lib/structures/list.hpp>
#include <mos/lib/sync/spinlock.hpp>
#include <mos/mm/paging/paging.hpp>
#include <mos/mm/physical/pmm.hpp>
#include <mos/mos_global.h>
#include <mos/platform/platform.hpp>
#include <mos/syslog/printk.hpp>
#include <mos_stdlib.hpp>
Go to the source code of this file.
Functions | |
PtrResult< vmap_t > | mm_get_free_vaddr_locked (MMContext *mmctx, size_t n_pages, ptr_t base_vaddr, valloc_flags flags) |
Gets npages unmapped free pages from a page table. | |
void | mm_map_kernel_pages (MMContext *mmctx, ptr_t vaddr, pfn_t pfn, size_t npages, vm_flags flags) |
Map a block of virtual memory to a block of physical memory. | |
PtrResult< vmap_t > | mm_map_user_pages (MMContext *mmctx, ptr_t vaddr, pfn_t pfn, size_t npages, vm_flags flags, valloc_flags vaflags, vmap_type_t type, vmap_content_t content) |
void | mm_replace_page_locked (MMContext *ctx, ptr_t vaddr, pfn_t pfn, vm_flags flags) |
Replace the mappings of a page with a new physical frame. | |
PtrResult< vmap_t > | mm_clone_vmap_locked (vmap_t *src_vmap, MMContext *dst_ctx) |
Remap a block of virtual memory from one page table to another, i.e. copy the mappings. | |
bool | mm_get_is_mapped_locked (MMContext *mmctx, ptr_t vaddr) |
Get if a virtual address is mapped in a page table. | |
void | mm_flag_pages_locked (MMContext *ctx, ptr_t vaddr, size_t npages, vm_flags flags) |
Update the flags of a block of virtual memory. | |
ptr_t | mm_get_phys_addr (MMContext *ctx, ptr_t vaddr) |