MOS Source Code
|
#include "mos/io/io.h"
#include "mos/mm/mm.h"
#include "mos/mm/mmstat.h"
#include "mos/mm/paging/table_ops.h"
#include <mos/lib/structures/bitmap.h>
#include <mos/lib/structures/list.h>
#include <mos/lib/sync/spinlock.h>
#include <mos/mm/paging/paging.h>
#include <mos/mm/physical/pmm.h>
#include <mos/mos_global.h>
#include <mos/platform/platform.h>
#include <mos/syslog/printk.h>
#include <mos_stdlib.h>
Go to the source code of this file.
Functions | |
vmap_t * | mm_get_free_vaddr_locked (mm_context_t *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 (mm_context_t *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. | |
vmap_t * | mm_map_user_pages (mm_context_t *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 (mm_context_t *ctx, ptr_t vaddr, pfn_t pfn, vm_flags flags) |
Replace the mappings of a page with a new physical frame. | |
vmap_t * | mm_clone_vmap_locked (vmap_t *src_vmap, mm_context_t *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 (mm_context_t *mmctx, ptr_t vaddr) |
Get if a virtual address is mapped in a page table. | |
void | mm_flag_pages_locked (mm_context_t *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 (mm_context_t *ctx, ptr_t vaddr) |