Changes in kernel/generic/include/mm/as.h [0321109:d99c1d2] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/include/mm/as.h
r0321109 rd99c1d2 1 1 /* 2 * Copyright (c) 20 10Jakub Jermar2 * Copyright (c) 2001-2004 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 );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);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); 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 * , int);252 extern int as_constructor_arch(as_t *as, int flags); 253 253 #endif /* !def as_constructor_arch */ 254 254 #ifndef as_destructor_arch 255 extern int as_destructor_arch(as_t * );255 extern int as_destructor_arch(as_t *as); 256 256 #endif /* !def as_destructor_arch */ 257 257 #ifndef as_create_arch 258 extern int as_create_arch(as_t * , int);258 extern int as_create_arch(as_t *as, int flags); 259 259 #endif /* !def as_create_arch */ 260 260 #ifndef as_install_arch 261 extern void as_install_arch(as_t * );261 extern void as_install_arch(as_t *as); 262 262 #endif /* !def as_install_arch */ 263 263 #ifndef as_deinstall_arch 264 extern void as_deinstall_arch(as_t * );264 extern void as_deinstall_arch(as_t *as); 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 * , as_t *, int);279 extern unsigned int elf_load(elf_header_t *header, as_t *as, int flags); 280 280 281 281 /* Address space area related syscalls. */ 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 );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); 286 286 287 287 /* Introspection functions. */ 288 extern void as_get_area_info(as_t * , as_area_info_t **, size_t *);289 extern void as_print(as_t * );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); 290 290 291 291 #endif /* KERNEL */
Note:
See TracChangeset
for help on using the changeset viewer.