as.c File Reference

Address space related functions. More...

Include dependency graph for as.c:

Go to the source code of this file.

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_tfind_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_tas_create (int flags)
void as_destroy (as_t *as)
as_area_tas_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_tpage_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_tAS_KERNEL = NULL


Detailed Description

This file contains address space manipulation functions. Roughly speaking, this is a higher-level client of Virtual Address Translation (VAT) subsystem.

Functionality provided by this file allows one to create address space and create, resize and share address space areas.

See also:
page.c

Definition in file as.c.


Generated on Sun Jun 18 16:29:32 2006 for HelenOS Kernel (amd64) by  doxygen 1.4.6