Subversion Repositories HelenOS-historic

Compare Revisions

Ignore whitespace Rev 1238 → Rev 1239

/kernel/trunk/generic/include/mm/as.h
59,6 → 59,10
#define AS_AREA_EXEC 4
#define AS_AREA_DEVICE 8
 
/** Address space area attributes. */
#define AS_AREA_ATTR_NONE 0
#define AS_AREA_ATTR_PARTIAL 1 /* Not fully initialized area. */
 
/** Address space area structure.
*
* Each as_area_t structure describes one contiguous area of virtual memory.
66,7 → 70,8
*/
struct as_area {
SPINLOCK_DECLARE(lock);
int flags;
int flags; /**< Flags related to the memory represented by the address space area. */
int attributes; /**< Attributes related to the address space area itself. */
count_t pages; /**< Size of this area in multiples of PAGE_SIZE. */
__address base; /**< Base address of this area. */
};
112,9 → 117,9
 
extern void as_init(void);
extern as_t *as_create(int flags);
extern as_area_t *as_area_create(as_t *as, int flags, size_t size, __address base);
extern as_area_t *as_area_create(as_t *as, int flags, size_t size, __address base, int attrs);
extern __address as_area_resize(as_t *as, __address address, size_t size, int flags);
int as_area_send(task_id_t id, __address base);
int as_area_send(task_id_t dst_id, __address base);
extern void as_set_mapping(as_t *as, __address page, __address frame);
extern int as_page_fault(__address page);
extern void as_switch(as_t *old, as_t *new);