Rev 687 | Rev 755 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 687 | Rev 699 | ||
---|---|---|---|
Line 40... | Line 40... | ||
40 | #define PAGE_USER_SHIFT 2 |
40 | #define PAGE_USER_SHIFT 2 |
41 | #define PAGE_KERNEL_SHIFT PAGE_USER_SHIFT |
41 | #define PAGE_KERNEL_SHIFT PAGE_USER_SHIFT |
42 | #define PAGE_READ_SHIFT 3 |
42 | #define PAGE_READ_SHIFT 3 |
43 | #define PAGE_WRITE_SHIFT 4 |
43 | #define PAGE_WRITE_SHIFT 4 |
44 | #define PAGE_EXEC_SHIFT 5 |
44 | #define PAGE_EXEC_SHIFT 5 |
- | 45 | #define PAGE_GLOBAL_SHIFT 6 |
|
45 | 46 | ||
46 | #define PAGE_NOT_CACHEABLE (0<<PAGE_CACHEABLE_SHIFT) |
47 | #define PAGE_NOT_CACHEABLE (0<<PAGE_CACHEABLE_SHIFT) |
47 | #define PAGE_CACHEABLE (1<<PAGE_CACHEABLE_SHIFT) |
48 | #define PAGE_CACHEABLE (1<<PAGE_CACHEABLE_SHIFT) |
48 | 49 | ||
49 | #define PAGE_PRESENT (0<<PAGE_PRESENT_SHIFT) |
50 | #define PAGE_PRESENT (0<<PAGE_PRESENT_SHIFT) |
Line 54... | Line 55... | ||
54 | 55 | ||
55 | #define PAGE_READ (1<<PAGE_READ_SHIFT) |
56 | #define PAGE_READ (1<<PAGE_READ_SHIFT) |
56 | #define PAGE_WRITE (1<<PAGE_WRITE_SHIFT) |
57 | #define PAGE_WRITE (1<<PAGE_WRITE_SHIFT) |
57 | #define PAGE_EXEC (1<<PAGE_EXEC_SHIFT) |
58 | #define PAGE_EXEC (1<<PAGE_EXEC_SHIFT) |
58 | 59 | ||
- | 60 | #define PAGE_GLOBAL (1<<PAGE_GLOBAL_SHIFT) |
|
- | 61 | ||
- | 62 | /** Operations to manipulate page mappings. */ |
|
59 | struct page_operations { |
63 | struct page_operations { |
60 | void (* mapping_insert)(__address page, asid_t asid, __address frame, int flags, __address root); |
64 | void (* mapping_insert)(__address page, asid_t asid, __address frame, int flags, __address root); |
61 | pte_t *(* mapping_find)(__address page, asid_t asid, __address root); |
65 | pte_t *(* mapping_find)(__address page, asid_t asid, __address root); |
62 | }; |
66 | }; |
63 | typedef struct page_operations page_operations_t; |
67 | typedef struct page_operations page_operations_t; |