![]() |
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, bool exact) |
| 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, VMFlags 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, VMFlags flags, vmap_type_t type, vmap_content_t content, bool exact) |
| void | mm_replace_page_locked (MMContext *ctx, ptr_t vaddr, pfn_t pfn, VMFlags flags) |
| Replace the mappings of a page with a new physical frame. | |
| PtrResult< vmap_t > | mm_clone_vmap_locked (const 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, VMFlags flags) |
| Update the flags of a block of virtual memory. | |
| ptr_t | mm_get_phys_addr (MMContext *ctx, ptr_t vaddr) |