Changes in kernel/generic/include/mm/as.h [fc47885:c0699467] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/include/mm/as.h
rfc47885 rc0699467 36 36 #define KERN_AS_H_ 37 37 38 #ifdef KERNEL 39 #include <typedefs.h> 40 #else 41 #include <sys/types.h> 42 #endif 43 44 /** Address space area flags. */ 45 #define AS_AREA_READ 1 46 #define AS_AREA_WRITE 2 47 #define AS_AREA_EXEC 4 48 #define AS_AREA_CACHEABLE 8 49 50 /** Address space area info exported to userspace. */ 51 typedef struct { 52 /** Starting address */ 53 uintptr_t start_addr; 54 55 /** Area size */ 56 size_t size; 57 58 /** Area flags */ 59 unsigned int flags; 60 } as_area_info_t; 61 62 #ifdef KERNEL 63 38 #include <typedefs.h> 39 #include <abi/mm/as.h> 64 40 #include <arch/mm/page.h> 65 41 #include <arch/mm/as.h> 66 42 #include <arch/mm/asid.h> 43 #include <arch/istate.h> 67 44 #include <typedefs.h> 68 45 #include <synch/spinlock.h> … … 84 61 #define USER_ADDRESS_SPACE_END USER_ADDRESS_SPACE_END_ARCH 85 62 86 #define USTACK_ADDRESS USTACK_ADDRESS_ARCH 63 #ifdef USTACK_ADDRESS_ARCH 64 #define USTACK_ADDRESS USTACK_ADDRESS_ARCH 65 #else 66 #define USTACK_ADDRESS (USER_ADDRESS_SPACE_END - (STACK_SIZE - 1)) 67 #endif 87 68 88 69 /** Kernel address space. */ … … 238 219 /** Address space area backend structure. */ 239 220 typedef struct mem_backend { 221 bool (* create)(as_area_t *); 222 bool (* resize)(as_area_t *, size_t); 223 void (* share)(as_area_t *); 224 void (* destroy)(as_area_t *); 225 240 226 int (* page_fault)(as_area_t *, uintptr_t, pf_access_t); 241 227 void (* frame_free)(as_area_t *, uintptr_t, uintptr_t); 242 void (* share)(as_area_t *);243 228 } mem_backend_t; 244 229 … … 246 231 247 232 extern as_operations_t *as_operations; 248 extern li nk_t inactive_as_with_asid_head;233 extern list_t inactive_as_with_asid_list; 249 234 250 235 extern void as_init(void); … … 298 283 extern mem_backend_t phys_backend; 299 284 300 /**301 * This flags is passed when running the loader, otherwise elf_load()302 * would return with a EE_LOADER error code.303 *304 */305 #define ELD_F_NONE 0306 #define ELD_F_LOADER 1307 308 extern unsigned int elf_load(elf_header_t *, as_t *, unsigned int);309 310 285 /* Address space area related syscalls. */ 311 286 extern sysarg_t sys_as_area_create(uintptr_t, size_t, unsigned int); … … 313 288 extern sysarg_t sys_as_area_change_flags(uintptr_t, unsigned int); 314 289 extern sysarg_t sys_as_area_destroy(uintptr_t); 290 extern sysarg_t sys_as_get_unmapped_area(uintptr_t, size_t); 315 291 316 292 /* Introspection functions. */ … … 318 294 extern void as_print(as_t *); 319 295 320 #endif /* KERNEL */321 322 296 #endif 323 297
Note:
See TracChangeset
for help on using the changeset viewer.