Subversion Repositories HelenOS-historic

Compare Revisions

Ignore whitespace Rev 1025 → Rev 1026

/kernel/trunk/generic/include/mm/as.h
48,9 → 48,10
 
#define FLAG_AS_KERNEL (1 << 0) /**< Kernel address space. */
 
enum as_area_type {
AS_AREA_TEXT = 1, AS_AREA_DATA, AS_AREA_STACK
};
/** Address space area flags. */
#define AS_AREA_READ 1
#define AS_AREA_WRITE 2
#define AS_AREA_EXEC 4
 
/** Address space area structure.
*
60,7 → 61,7
struct as_area {
SPINLOCK_DECLARE(lock);
link_t link;
as_area_type_t type;
int flags;
size_t size; /**< Size of this area in multiples of PAGE_SIZE. */
__address base; /**< Base address of this area. */
};
103,7 → 104,7
 
extern void as_init(void);
extern as_t *as_create(int flags);
extern as_area_t *as_area_create(as_t *as, as_area_type_t type, size_t size, __address base);
extern as_area_t *as_area_create(as_t *as, int flags, size_t size, __address base);
extern __address as_remap(as_t *as, __address address, size_t size, int flags);
extern void as_set_mapping(as_t *as, __address page, __address frame);
extern int as_page_fault(__address page);