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 |