|
| SLAB_AUTOINIT ("vmap", vmap_cache, vmap_t) |
|
| SLAB_AUTOINIT ("mm_context", mm_context_cache, mm_context_t) |
|
phyframe_t * | mm_get_free_page_raw (void) |
|
phyframe_t * | mm_get_free_page (void) |
|
phyframe_t * | mm_get_free_pages (size_t npages) |
|
mm_context_t * | mm_create_context (void) |
| Create a user-mode platform-dependent page table.
|
|
void | mm_destroy_context (mm_context_t *mmctx) |
| Destroy a user-mode platform-dependent page table.
|
|
void | mm_lock_ctx_pair (mm_context_t *ctx1, mm_context_t *ctx2) |
| Lock and unlock a pair of mm_context_t objects.
|
|
void | mm_unlock_ctx_pair (mm_context_t *ctx1, mm_context_t *ctx2) |
|
mm_context_t * | mm_switch_context (mm_context_t *new_ctx) |
|
static void | do_attach_vmap (mm_context_t *mmctx, vmap_t *vmap) |
|
vmap_t * | vmap_create (mm_context_t *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 (mm_context_t *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) |
|