|
| phyframe_t * | mm_get_free_page_raw (void) |
| phyframe_t * | mm_get_free_page (void) |
| phyframe_t * | mm_get_free_pages (size_t npages) |
| MMContext * | mm_create_context (void) |
| | Create a user-mode platform-dependent page table.
|
| void | mm_destroy_context (MMContext *mmctx) |
| | Destroy a user-mode platform-dependent page table.
|
| void | mm_lock_context_pair (MMContext *ctx1_, MMContext *ctx2_) |
| | Lock and unlock a pair of MMContext objects.
|
| void | mm_unlock_context_pair (MMContext *ctx1_, MMContext *ctx2_) |
| MMContext * | mm_switch_context (MMContext *new_ctx) |
| static void | do_attach_vmap (MMContext *mmctx, vmap_t *vmap) |
| vmap_t * | vmap_create (MMContext *mmctx, ptr_t vaddr, size_t npages) |
| | Create a vmap object and insert it into the address space.
|
| void | vmap_destroy (vmap_t *vmap) |
| | Destroy a vmap object, and unmmap the region.
|
| vmap_t * | vmap_obtain (MMContext *mmctx, ptr_t vaddr, size_t *out_offset) |
| | Get the vmap object for a virtual address.
|
| vmap_t * | vmap_split (vmap_t *first, size_t split) |
| | Split a vmap object into two, at the specified offset.
|
| vmap_t * | vmap_split_for_range (vmap_t *vmap, size_t rstart_pgoff, size_t rend_pgoff) |
| | Split a vmap to get a vmap object for a range of pages.
|
| void | vmap_finalise_init (vmap_t *vmap, vmap_content_t content, vmap_type_t type) |
| | Finalize the initialization of a vmap object.
|
| void | mm_copy_page (const phyframe_t *src, const phyframe_t *dst) |
| vmfault_result_t | mm_resolve_cow_fault (vmap_t *vmap, ptr_t fault_addr, pagefault_t *info) |
| | Helper function to resolve a copy-on-write fault.
|
| static void | invalid_page_fault (ptr_t fault_addr, vmap_t *faulting_vmap, vmap_t *ip_vmap, pagefault_t *info, const char *unhandled_reason) |
| void | mm_handle_fault (ptr_t fault_addr, pagefault_t *info) |
| | Handle a page fault.
|
| static bool | sys_mem_mmap (sysfs_file_t *f, vmap_t *vmap, off_t offset) |
| static bool | sys_mem_munmap (sysfs_file_t *f, vmap_t *vmap, bool *unmapped) |
| static void | mm_sysfs_init () |
| | MOS_INIT (SYSFS, mm_sysfs_init) |