Rev 1239 | Rev 1306 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1239 | Rev 1288 | ||
---|---|---|---|
Line 61... | Line 61... | ||
61 | 61 | ||
62 | /** Address space area attributes. */ |
62 | /** Address space area attributes. */ |
63 | #define AS_AREA_ATTR_NONE 0 |
63 | #define AS_AREA_ATTR_NONE 0 |
64 | #define AS_AREA_ATTR_PARTIAL 1 /* Not fully initialized area. */ |
64 | #define AS_AREA_ATTR_PARTIAL 1 /* Not fully initialized area. */ |
65 | 65 | ||
- | 66 | #define AS_PF_FAULT 0 /**< The page fault was not resolved by asp_page_fault(). */ |
|
- | 67 | #define AS_PF_OK 1 /**< The page fault was resolved by as_page_fault(). */ |
|
- | 68 | #define AS_PF_DEFER 2 /**< The page fault was caused by memcpy_from_uspace(). */ |
|
- | 69 | ||
66 | /** Address space area structure. |
70 | /** Address space area structure. |
67 | * |
71 | * |
68 | * Each as_area_t structure describes one contiguous area of virtual memory. |
72 | * Each as_area_t structure describes one contiguous area of virtual memory. |
69 | * In the future, it should not be difficult to support shared areas. |
73 | * In the future, it should not be difficult to support shared areas. |
70 | */ |
74 | */ |
Line 119... | Line 123... | ||
119 | extern as_t *as_create(int flags); |
123 | extern as_t *as_create(int flags); |
120 | extern as_area_t *as_area_create(as_t *as, int flags, size_t size, __address base, int attrs); |
124 | extern as_area_t *as_area_create(as_t *as, int flags, size_t size, __address base, int attrs); |
121 | extern __address as_area_resize(as_t *as, __address address, size_t size, int flags); |
125 | extern __address as_area_resize(as_t *as, __address address, size_t size, int flags); |
122 | int as_area_send(task_id_t dst_id, __address base); |
126 | int as_area_send(task_id_t dst_id, __address base); |
123 | extern void as_set_mapping(as_t *as, __address page, __address frame); |
127 | extern void as_set_mapping(as_t *as, __address page, __address frame); |
124 | extern int as_page_fault(__address page); |
128 | extern int as_page_fault(__address page, istate_t *istate); |
125 | extern void as_switch(as_t *old, as_t *new); |
129 | extern void as_switch(as_t *old, as_t *new); |
126 | extern void as_free(as_t *as); |
130 | extern void as_free(as_t *as); |
127 | 131 | ||
128 | /* Interface to be implemented by architectures. */ |
132 | /* Interface to be implemented by architectures. */ |
129 | #ifndef as_install_arch |
133 | #ifndef as_install_arch |