Changes in kernel/generic/include/mm/as.h [d99c1d2:0321109] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/include/mm/as.h
rd99c1d2 r0321109 1 1 /* 2 * Copyright (c) 20 01-2004Jakub Jermar2 * Copyright (c) 2010 Jakub Jermar 3 3 * All rights reserved. 4 4 * … … 227 227 extern void as_init(void); 228 228 229 extern as_t *as_create(int flags);230 extern void as_destroy(as_t * as);231 extern void as_ switch(as_t *old_as, as_t *new_as);232 extern int as_page_fault(uintptr_t page, pf_access_t access, istate_t *istate);233 234 extern as_area_t *as_area_create(as_t *as, int flags, size_t size,235 uintptr_t base, int attrs, mem_backend_t *backend, 236 mem_backend_data_t *backend_data); 237 extern int as_area_destroy(as_t *as, uintptr_t address); 238 extern int as_area_ resize(as_t *as, uintptr_t address, size_t size, int flags);239 int as_area_share(as_t *src_as, uintptr_t src_base, size_t acc_size, 240 as_t *dst_as, uintptr_t dst_base, int dst_flags_mask);241 extern int as_area_change_flags(as_t * as, int flags, uintptr_t address);242 243 extern int as_area_get_flags(as_area_t * area);244 extern bool as_area_check_access(as_area_t * area, pf_access_t access);245 extern size_t as_area_get_size(uintptr_t base);246 extern int used_space_insert(as_area_t * a, uintptr_t page, size_t count);247 extern int used_space_remove(as_area_t * a, uintptr_t page, size_t count);229 extern as_t *as_create(int); 230 extern void as_destroy(as_t *); 231 extern void as_hold(as_t *); 232 extern void as_release(as_t *); 233 extern void as_switch(as_t *, as_t *); 234 extern int as_page_fault(uintptr_t, pf_access_t, istate_t *); 235 236 extern as_area_t *as_area_create(as_t *, int, size_t, uintptr_t, int, 237 mem_backend_t *, mem_backend_data_t *); 238 extern int as_area_destroy(as_t *, uintptr_t); 239 extern int as_area_resize(as_t *, uintptr_t, size_t, int); 240 extern int as_area_share(as_t *, uintptr_t, size_t, as_t *, uintptr_t, int); 241 extern int as_area_change_flags(as_t *, int, uintptr_t); 242 243 extern int as_area_get_flags(as_area_t *); 244 extern bool as_area_check_access(as_area_t *, pf_access_t); 245 extern size_t as_area_get_size(uintptr_t); 246 extern int used_space_insert(as_area_t *, uintptr_t, size_t); 247 extern int used_space_remove(as_area_t *, uintptr_t, size_t); 248 248 249 249 250 250 /* Interface to be implemented by architectures. */ 251 251 #ifndef as_constructor_arch 252 extern int as_constructor_arch(as_t * as, int flags);252 extern int as_constructor_arch(as_t *, int); 253 253 #endif /* !def as_constructor_arch */ 254 254 #ifndef as_destructor_arch 255 extern int as_destructor_arch(as_t * as);255 extern int as_destructor_arch(as_t *); 256 256 #endif /* !def as_destructor_arch */ 257 257 #ifndef as_create_arch 258 extern int as_create_arch(as_t * as, int flags);258 extern int as_create_arch(as_t *, int); 259 259 #endif /* !def as_create_arch */ 260 260 #ifndef as_install_arch 261 extern void as_install_arch(as_t * as);261 extern void as_install_arch(as_t *); 262 262 #endif /* !def as_install_arch */ 263 263 #ifndef as_deinstall_arch 264 extern void as_deinstall_arch(as_t * as);264 extern void as_deinstall_arch(as_t *); 265 265 #endif /* !def as_deinstall_arch */ 266 266 … … 277 277 #define ELD_F_LOADER 1 278 278 279 extern unsigned int elf_load(elf_header_t * header, as_t *as, int flags);279 extern unsigned int elf_load(elf_header_t *, as_t *, int); 280 280 281 281 /* Address space area related syscalls. */ 282 extern unative_t sys_as_area_create(uintptr_t address, size_t size, int flags);283 extern unative_t sys_as_area_resize(uintptr_t address, size_t size, int flags);284 extern unative_t sys_as_area_change_flags(uintptr_t address, int flags);285 extern unative_t sys_as_area_destroy(uintptr_t address);282 extern unative_t sys_as_area_create(uintptr_t, size_t, int); 283 extern unative_t sys_as_area_resize(uintptr_t, size_t, int); 284 extern unative_t sys_as_area_change_flags(uintptr_t, int); 285 extern unative_t sys_as_area_destroy(uintptr_t); 286 286 287 287 /* Introspection functions. */ 288 extern void as_get_area_info(as_t * as, as_area_info_t **obuf, size_t *osize);289 extern void as_print(as_t * as);288 extern void as_get_area_info(as_t *, as_area_info_t **, size_t *); 289 extern void as_print(as_t *); 290 290 291 291 #endif /* KERNEL */
Note:
See TracChangeset
for help on using the changeset viewer.