Subversion Repositories HelenOS-historic

Compare Revisions

Ignore whitespace Rev 754 → Rev 755

/kernel/trunk/generic/include/mm/page.h
61,8 → 61,8
 
/** Operations to manipulate page mappings. */
struct page_operations {
void (* mapping_insert)(__address page, asid_t asid, __address frame, int flags, __address root);
pte_t *(* mapping_find)(__address page, asid_t asid, __address root);
void (* mapping_insert)(as_t *as, __address page, __address frame, int flags, __address root);
pte_t *(* mapping_find)(as_t *as, __address page, __address root);
};
typedef struct page_operations page_operations_t;
 
69,8 → 69,8
extern page_operations_t *page_operations;
 
extern void page_init(void);
extern void page_mapping_insert(__address page, asid_t asid, __address frame, int flags, __address root);
extern pte_t *page_mapping_find(__address page, asid_t asid, __address root);
extern void page_mapping_insert(as_t *as, __address page, __address frame, int flags, __address root);
extern pte_t *page_mapping_find(as_t *as, __address page, __address root);
extern void map_structure(__address s, size_t size);
 
#endif
/kernel/trunk/generic/include/mm/as.h
48,7 → 48,7
#define USTACK_ADDRESS USTACK_ADDRESS_ARCH
#define UDATA_ADDRESS UDATA_ADDRESS_ARCH
 
#define AS_KERNEL (1<<0) /**< Kernel address space. */
#define FLAG_AS_KERNEL (1<<0) /**< Kernel address space. */
 
enum as_area_type {
AS_AREA_TEXT = 1, AS_AREA_DATA, AS_AREA_STACK
84,7 → 84,9
asid_t asid; /**< Address space identifier. */
};
 
extern as_t * as_create(pte_t *ptl0, int flags);
extern as_t *AS_KERNEL;
 
extern as_t *as_create(pte_t *ptl0, 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);