Changes in kernel/generic/include/mm/as.h [ae6021d:908bb96] in mainline
- File:
-
- 1 edited
-
kernel/generic/include/mm/as.h (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/include/mm/as.h
rae6021d r908bb96 42 42 #include <arch/mm/asid.h> 43 43 #include <arch/istate.h> 44 #include <typedefs.h> 44 45 #include <synch/spinlock.h> 45 46 #include <synch/mutex.h> … … 47 48 #include <adt/btree.h> 48 49 #include <lib/elf.h> 49 #include <arch.h>50 51 #define AS THE->as52 53 50 54 51 /** … … 143 140 /** This structure can be deallocated if refcount drops to 0. */ 144 141 size_t refcount; 145 /** True if the area has been ever shared. */ 146 bool shared; 147 142 148 143 /** 149 144 * B+tree containing complete map of anonymous pages of the shared area. 150 145 */ 151 146 btree_t pagemap; 152 153 /** Address space area backend. */154 struct mem_backend *backend;155 /** Address space area shared data. */156 void *backend_shared_data;157 147 } share_info_t; 158 148 … … 169 159 /** Backend data stored in address space area. */ 170 160 typedef union mem_backend_data { 171 /* anon_backend members */172 struct {173 };174 175 161 /** elf_backend members */ 176 162 struct { … … 183 169 uintptr_t base; 184 170 size_t frames; 185 bool anonymous;186 171 }; 187 188 /** user_backend members */189 struct {190 as_area_pager_info_t pager_info;191 };192 193 172 } mem_backend_data_t; 194 173 … … 247 226 int (* page_fault)(as_area_t *, uintptr_t, pf_access_t); 248 227 void (* frame_free)(as_area_t *, uintptr_t, uintptr_t); 249 250 bool (* create_shared_data)(as_area_t *);251 void (* destroy_shared_data)(void *);252 228 } mem_backend_t; 253 229 … … 306 282 extern mem_backend_t elf_backend; 307 283 extern mem_backend_t phys_backend; 308 extern mem_backend_t user_backend;309 284 310 285 /* Address space area related syscalls. */ 311 extern sysarg_t sys_as_area_create(uintptr_t, size_t, unsigned int, uintptr_t, 312 as_area_pager_info_t *); 286 extern sysarg_t sys_as_area_create(uintptr_t, size_t, unsigned int, uintptr_t); 313 287 extern sysarg_t sys_as_area_resize(uintptr_t, size_t, unsigned int); 314 288 extern sysarg_t sys_as_area_change_flags(uintptr_t, unsigned int);
Note:
See TracChangeset
for help on using the changeset viewer.
