Subversion Repositories HelenOS-historic

Compare Revisions

Ignore whitespace Rev 755 → Rev 756

/kernel/trunk/generic/include/mm/page.h
61,8 → 61,8
 
/** Operations to manipulate page mappings. */
struct page_operations {
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);
void (* mapping_insert)(as_t *as, __address page, __address frame, int flags);
pte_t *(* mapping_find)(as_t *as, __address page);
};
typedef struct page_operations page_operations_t;
 
69,8 → 69,9
extern page_operations_t *page_operations;
 
extern void page_init(void);
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 page_mapping_insert(as_t *as, __address page, __address frame, int flags);
extern pte_t *page_mapping_find(as_t *as, __address page);
extern pte_t *page_table_create(int flags);
extern void map_structure(__address s, size_t size);
 
#endif
/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);
/kernel/trunk/generic/include/mm/buddy.h
57,5 → 57,4
extern void buddy_system_free(buddy_system_t *b, link_t *block);
extern void buddy_system_structure_print(buddy_system_t *b, size_t elem_size);
 
 
#endif