Rev 1044 | Rev 1382 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 1044 | Rev 1288 | ||
|---|---|---|---|
| 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 | /* TODO - check that userspace is OK, platform specific functions etc */ |
- | |
| 64 | static inline void copy_to_uspace(void *dst, void *src, count_t cnt) |
- | |
| 65 | { |
- | |
| 66 | memcpy(dst, src, cnt); |
- | |
| 67 | } |
- | |
| 68 | - | ||
| 69 | static inline void copy_from_uspace(void *dst, void *src, count_t cnt) |
- | |
| 70 | { |
- | |
| 71 | memcpy(dst, src, cnt); |
- | |
| 72 | } |
- | |
| 73 | - | ||
| 74 | /** Operations to manipulate page mappings. */ |
63 | /** Operations to manipulate page mappings. */ |
| 75 | struct page_mapping_operations { |
64 | struct page_mapping_operations { |
| 76 | void (* mapping_insert)(as_t *as, __address page, __address frame, int flags); |
65 | void (* mapping_insert)(as_t *as, __address page, __address frame, int flags); |
| 77 | void (* mapping_remove)(as_t *as, __address page); |
66 | void (* mapping_remove)(as_t *as, __address page); |
| 78 | pte_t *(* mapping_find)(as_t *as, __address page); |
67 | pte_t *(* mapping_find)(as_t *as, __address page); |