Subversion Repositories HelenOS-historic

Compare Revisions

Ignore whitespace Rev 755 → Rev 756

/kernel/trunk/generic/include/mm/as.h
80,13 → 80,24
 
SPINLOCK_DECLARE(lock);
link_t as_area_head;
pte_t *ptl0;
asid_t asid; /**< Address space identifier. */
 
/** Page table pointer. Constant on architectures that use global page hash table. */
pte_t *page_table;
 
/** Address space identifier. Constant on architectures that do not support ASIDs.*/
asid_t asid;
};
 
struct as_operations {
pte_t *(* page_table_create)(int flags);
};
typedef struct as_operations as_operations_t;
 
extern as_t *AS_KERNEL;
extern as_operations_t *as_operations;
 
extern as_t *as_create(pte_t *ptl0, int flags);
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 void as_set_mapping(as_t *as, __address page, __address frame);
extern int as_page_fault(__address page);