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