Rev 1702 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1702 | Rev 1780 | ||
---|---|---|---|
Line 74... | Line 74... | ||
74 | }; |
74 | }; |
75 | typedef enum pf_access pf_access_t; |
75 | typedef enum pf_access pf_access_t; |
76 | 76 | ||
77 | /** Operations to manipulate page mappings. */ |
77 | /** Operations to manipulate page mappings. */ |
78 | struct page_mapping_operations { |
78 | struct page_mapping_operations { |
79 | void (* mapping_insert)(as_t *as, __address page, __address frame, int flags); |
79 | void (* mapping_insert)(as_t *as, uintptr_t page, uintptr_t frame, int flags); |
80 | void (* mapping_remove)(as_t *as, __address page); |
80 | void (* mapping_remove)(as_t *as, uintptr_t page); |
81 | pte_t *(* mapping_find)(as_t *as, __address page); |
81 | pte_t *(* mapping_find)(as_t *as, uintptr_t page); |
82 | }; |
82 | }; |
83 | typedef struct page_mapping_operations page_mapping_operations_t; |
83 | typedef struct page_mapping_operations page_mapping_operations_t; |
84 | 84 | ||
85 | extern page_mapping_operations_t *page_mapping_operations; |
85 | extern page_mapping_operations_t *page_mapping_operations; |
86 | 86 | ||
87 | extern void page_init(void); |
87 | extern void page_init(void); |
88 | extern void page_table_lock(as_t *as, bool lock); |
88 | extern void page_table_lock(as_t *as, bool lock); |
89 | extern void page_table_unlock(as_t *as, bool unlock); |
89 | extern void page_table_unlock(as_t *as, bool unlock); |
90 | extern void page_mapping_insert(as_t *as, __address page, __address frame, int flags); |
90 | extern void page_mapping_insert(as_t *as, uintptr_t page, uintptr_t frame, int flags); |
91 | extern void page_mapping_remove(as_t *as, __address page); |
91 | extern void page_mapping_remove(as_t *as, uintptr_t page); |
92 | extern pte_t *page_mapping_find(as_t *as, __address page); |
92 | extern pte_t *page_mapping_find(as_t *as, uintptr_t page); |
93 | extern pte_t *page_table_create(int flags); |
93 | extern pte_t *page_table_create(int flags); |
94 | extern void page_table_destroy(pte_t *page_table); |
94 | extern void page_table_destroy(pte_t *page_table); |
95 | extern void map_structure(__address s, size_t size); |
95 | extern void map_structure(uintptr_t s, size_t size); |
96 | extern __address hw_map(__address physaddr, size_t size); |
96 | extern uintptr_t hw_map(uintptr_t physaddr, size_t size); |
97 | 97 | ||
98 | #endif |
98 | #endif |
99 | 99 | ||
100 | /** @} |
100 | /** @} |
101 | */ |
101 | */ |