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