Rev 684 | Rev 699 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 684 | Rev 687 | ||
---|---|---|---|
Line 27... | Line 27... | ||
27 | */ |
27 | */ |
28 | 28 | ||
29 | #ifndef __PAGE_H__ |
29 | #ifndef __PAGE_H__ |
30 | #define __PAGE_H__ |
30 | #define __PAGE_H__ |
31 | 31 | ||
- | 32 | #include <arch/mm/asid.h> |
|
32 | #include <arch/types.h> |
33 | #include <arch/types.h> |
33 | #include <typedefs.h> |
34 | #include <typedefs.h> |
34 | 35 | ||
35 | #define PAGE_CACHEABLE_SHIFT 0 |
36 | #define PAGE_CACHEABLE_SHIFT 0 |
36 | #define PAGE_NOT_CACHEABLE_SHIFT PAGE_CACHEABLE_SHIFT |
37 | #define PAGE_NOT_CACHEABLE_SHIFT PAGE_CACHEABLE_SHIFT |
Line 54... | Line 55... | ||
54 | #define PAGE_READ (1<<PAGE_READ_SHIFT) |
55 | #define PAGE_READ (1<<PAGE_READ_SHIFT) |
55 | #define PAGE_WRITE (1<<PAGE_WRITE_SHIFT) |
56 | #define PAGE_WRITE (1<<PAGE_WRITE_SHIFT) |
56 | #define PAGE_EXEC (1<<PAGE_EXEC_SHIFT) |
57 | #define PAGE_EXEC (1<<PAGE_EXEC_SHIFT) |
57 | 58 | ||
58 | struct page_operations { |
59 | struct page_operations { |
59 | void (* mapping_insert)(__address page, __address frame, int flags, __address root); |
60 | void (* mapping_insert)(__address page, asid_t asid, __address frame, int flags, __address root); |
60 | pte_t *(* mapping_find)(__address page, __address root); |
61 | pte_t *(* mapping_find)(__address page, asid_t asid, __address root); |
61 | }; |
62 | }; |
62 | typedef struct page_operations page_operations_t; |
63 | typedef struct page_operations page_operations_t; |
63 | 64 | ||
64 | extern page_operations_t *page_operations; |
65 | extern page_operations_t *page_operations; |
65 | 66 | ||
66 | extern void page_init(void); |
67 | extern void page_init(void); |
67 | extern void page_mapping_insert(__address page, __address frame, int flags, __address root); |
68 | extern void page_mapping_insert(__address page, asid_t asid, __address frame, int flags, __address root); |
68 | extern pte_t *page_mapping_find(__address page, __address root); |
69 | extern pte_t *page_mapping_find(__address page, asid_t asid, __address root); |
69 | extern void map_structure(__address s, size_t size); |
70 | extern void map_structure(__address s, size_t size); |
70 | 71 | ||
71 | #endif |
72 | #endif |