Subversion Repositories HelenOS-historic

Rev

Rev 756 | Rev 826 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 756 Rev 793
Line 58... Line 58...
58
#define PAGE_EXEC       (1<<PAGE_EXEC_SHIFT)
58
#define PAGE_EXEC       (1<<PAGE_EXEC_SHIFT)
59
 
59
 
60
#define PAGE_GLOBAL     (1<<PAGE_GLOBAL_SHIFT)
60
#define PAGE_GLOBAL     (1<<PAGE_GLOBAL_SHIFT)
61
 
61
 
62
/** Operations to manipulate page mappings. */
62
/** Operations to manipulate page mappings. */
63
struct page_operations {
63
struct page_mapping_operations {
64
    void (* mapping_insert)(as_t *as, __address page, __address frame, int flags);
64
    void (* mapping_insert)(as_t *as, __address page, __address frame, int flags);
65
    pte_t *(* mapping_find)(as_t *as, __address page);
65
    pte_t *(* mapping_find)(as_t *as, __address page);
66
};
66
};
67
typedef struct page_operations page_operations_t;
67
typedef struct page_mapping_operations page_mapping_operations_t;
68
 
68
 
69
extern page_operations_t *page_operations;
69
extern page_mapping_operations_t *page_mapping_operations;
70
 
70
 
71
extern void page_init(void);
71
extern void page_init(void);
72
extern void page_mapping_insert(as_t *as, __address page, __address frame, int flags);
72
extern void page_mapping_insert(as_t *as, __address page, __address frame, int flags);
73
extern pte_t *page_mapping_find(as_t *as, __address page);
73
extern pte_t *page_mapping_find(as_t *as, __address page);
74
extern pte_t *page_table_create(int flags);
74
extern pte_t *page_table_create(int flags);