Subversion Repositories HelenOS-historic

Rev

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