|
Functions |
| SPINLOCK_INITIALIZE (inactive_as_with_asid_lock) |
| LIST_INITIALIZE (inactive_as_with_asid_head) |
static int | area_flags_to_page_flags (int aflags) |
static as_area_t * | find_area_and_lock (as_t *as, __address va) |
static bool | check_area_conflicts (as_t *as, __address va, size_t size, as_area_t *avoid_area) |
static void | sh_info_remove_reference (share_info_t *sh_info) |
void | as_init (void) |
as_t * | as_create (int flags) |
void | as_destroy (as_t *as) |
as_area_t * | as_area_create (as_t *as, int flags, size_t size, __address base, int attrs, mem_backend_t *backend, mem_backend_data_t *backend_data) |
int | as_area_resize (as_t *as, __address address, size_t size, int flags) |
int | as_area_destroy (as_t *as, __address address) |
int | as_area_share (as_t *src_as, __address src_base, size_t acc_size, as_t *dst_as, __address dst_base, int dst_flags_mask) |
bool | as_area_check_access (as_area_t *area, pf_access_t access) |
int | as_page_fault (__address page, pf_access_t access, istate_t *istate) |
void | as_switch (as_t *old, as_t *new) |
int | as_area_get_flags (as_area_t *a) |
pte_t * | page_table_create (int flags) |
void | page_table_destroy (pte_t *page_table) |
void | page_table_lock (as_t *as, bool lock) |
void | page_table_unlock (as_t *as, bool unlock) |
size_t | as_get_size (__address base) |
int | used_space_insert (as_area_t *a, __address page, count_t count) |
int | used_space_remove (as_area_t *a, __address page, count_t count) |
__native | sys_as_area_create (__address address, size_t size, int flags) |
__native | sys_as_area_resize (__address address, size_t size, int flags) |
__native | sys_as_area_destroy (__address address) |
Variables |
as_operations_t * | as_operations = NULL |
as_t * | AS_KERNEL = NULL |
Functionality provided by this file allows one to create address space and create, resize and share address space areas.