Subversion Repositories HelenOS-historic

Compare Revisions

Ignore whitespace Rev 792 → Rev 793

/kernel/trunk/generic/include/adt/hash_table.h
66,7 → 66,7
void (*remove_callback)(link_t *item);
};
 
#define hash_table_get_instance(item,type,member) list_get_instance((item),(type),(member))
#define hash_table_get_instance(item, type, member) list_get_instance((item), type, member)
 
extern void hash_table_create(hash_table_t *h, count_t m, count_t max_keys, hash_table_operations_t *op);
extern void hash_table_insert(hash_table_t *h, __native key[], link_t *item);
/kernel/trunk/generic/include/mm/page.h
60,13 → 60,13
#define PAGE_GLOBAL (1<<PAGE_GLOBAL_SHIFT)
 
/** Operations to manipulate page mappings. */
struct page_operations {
struct page_mapping_operations {
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;
typedef struct page_mapping_operations page_mapping_operations_t;
 
extern page_operations_t *page_operations;
extern page_mapping_operations_t *page_mapping_operations;
 
extern void page_init(void);
extern void page_mapping_insert(as_t *as, __address page, __address frame, int flags);
/kernel/trunk/generic/src/mm/page.c
43,7 → 43,7
#include <arch.h>
 
/** Virtual operations for page subsystem. */
page_operations_t *page_operations = NULL;
page_mapping_operations_t *page_mapping_operations = NULL;
 
void page_init(void)
{
85,10 → 85,10
*/
void page_mapping_insert(as_t *as, __address page, __address frame, int flags)
{
ASSERT(page_operations);
ASSERT(page_operations->mapping_insert);
ASSERT(page_mapping_operations);
ASSERT(page_mapping_operations->mapping_insert);
page_operations->mapping_insert(as, page, frame, flags);
page_mapping_operations->mapping_insert(as, page, frame, flags);
}
 
/** Find mapping for virtual page
104,8 → 104,8
*/
pte_t *page_mapping_find(as_t *as, __address page)
{
ASSERT(page_operations);
ASSERT(page_operations->mapping_find);
ASSERT(page_mapping_operations);
ASSERT(page_mapping_operations->mapping_find);
 
return page_operations->mapping_find(as, page);
return page_mapping_operations->mapping_find(as, page);
}