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); |