|
| static uint64_t | space_pmm_bitmap_alloc_pages (pfn_t *pfns, size_t pageAmount) |
| |
| static void | space_map_kernel_space_region (space_t *space, uintptr_t start, uintptr_t end) |
| |
| static void | space_unmap_kernel_space_region (space_t *space, uintptr_t start, uintptr_t end) |
| |
| uint64_t | space_init (space_t *space, uintptr_t startAddress, uintptr_t endAddress, space_flags_t flags) |
| | Initializes a virtual address space.
|
| |
| void | space_deinit (space_t *space) |
| | Deinitializes a virtual address space.
|
| |
| static void | space_align_region (void **virtAddr, size_t *length) |
| |
| static uint64_t | space_populate_user_region (space_t *space, const void *buffer, size_t pageAmount) |
| |
| static void | space_pin_depth_dec (space_t *space, const void *address, uint64_t amount) |
| |
| static uint64_t | space_pin_depth_inc (space_t *space, const void *address, uint64_t amount) |
| |
| uint64_t | space_pin (space_t *space, const void *buffer, size_t length, stack_pointer_t *userStack) |
| | Pins pages within a region of the address space.
|
| |
| uint64_t | space_pin_terminated (space_t *space, const void *address, const void *terminator, size_t objectSize, size_t maxCount, stack_pointer_t *userStack) |
| | Pins a region of memory terminated by a terminator value.
|
| |
| void | space_unpin (space_t *space, const void *address, size_t length) |
| | Unpins pages in a region previously pinned with space_pin() or space_pin_string().
|
| |
| uint64_t | space_check_access (space_t *space, const void *addr, size_t length) |
| | Checks if a virtual memory region is within the allowed address range of the space.
|
| |
| static void * | space_find_free_region (space_t *space, uint64_t pageAmount, uint64_t alignment) |
| |
| uint64_t | space_mapping_start (space_t *space, space_mapping_t *mapping, void *virtAddr, phys_addr_t physAddr, size_t length, size_t alignment, pml_flags_t flags) |
| | Prepare for changes to the address space mappings.
|
| |
| pml_callback_id_t | space_alloc_callback (space_t *space, size_t pageAmount, space_callback_func_t func, void *data) |
| | Allocate a callback.
|
| |
| void | space_free_callback (space_t *space, pml_callback_id_t callbackId) |
| | Free a callback.
|
| |
| static void | space_update_free_address (space_t *space, uintptr_t virtAddr, uint64_t pageAmount) |
| |
| void * | space_mapping_end (space_t *space, space_mapping_t *mapping, errno_t err) |
| | Performs cleanup after changes to the address space mappings.
|
| |
| bool | space_is_mapped (space_t *space, const void *virtAddr, size_t length) |
| | Checks if a virtual memory region is fully mapped.
|
| |
| uint64_t | space_user_page_count (space_t *space) |
| | Get the number of user pages allocated in the address space.
|
| |
| phys_addr_t | space_virt_to_phys (space_t *space, const void *virtAddr) |
| | Translate a virtual address to a physical address in the address space.
|
| |