Rev 1382 | Rev 1468 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1382 | Rev 1411 | ||
---|---|---|---|
Line 58... | Line 58... | ||
58 | #define PAGE_WRITE (1<<PAGE_WRITE_SHIFT) |
58 | #define PAGE_WRITE (1<<PAGE_WRITE_SHIFT) |
59 | #define PAGE_EXEC (1<<PAGE_EXEC_SHIFT) |
59 | #define PAGE_EXEC (1<<PAGE_EXEC_SHIFT) |
60 | 60 | ||
61 | #define PAGE_GLOBAL (1<<PAGE_GLOBAL_SHIFT) |
61 | #define PAGE_GLOBAL (1<<PAGE_GLOBAL_SHIFT) |
62 | 62 | ||
- | 63 | /** Page fault access type. */ |
|
- | 64 | enum pf_access { |
|
- | 65 | PF_ACCESS_READ, |
|
- | 66 | PF_ACCESS_WRITE, |
|
- | 67 | PF_ACCESS_EXEC |
|
- | 68 | }; |
|
- | 69 | typedef enum pf_access pf_access_t; |
|
- | 70 | ||
63 | /** Operations to manipulate page mappings. */ |
71 | /** Operations to manipulate page mappings. */ |
64 | struct page_mapping_operations { |
72 | struct page_mapping_operations { |
65 | void (* mapping_insert)(as_t *as, __address page, __address frame, int flags); |
73 | void (* mapping_insert)(as_t *as, __address page, __address frame, int flags); |
66 | void (* mapping_remove)(as_t *as, __address page); |
74 | void (* mapping_remove)(as_t *as, __address page); |
67 | pte_t *(* mapping_find)(as_t *as, __address page); |
75 | pte_t *(* mapping_find)(as_t *as, __address page); |