Subversion Repositories HelenOS

Rev

Rev 2745 | Rev 3240 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2745 Rev 3222
Line 267... Line 267...
267
    mem_backend_data_t *backend_data);
267
    mem_backend_data_t *backend_data);
268
extern int as_area_destroy(as_t *as, uintptr_t address);   
268
extern int as_area_destroy(as_t *as, uintptr_t address);   
269
extern int as_area_resize(as_t *as, uintptr_t address, size_t size, int flags);
269
extern int as_area_resize(as_t *as, uintptr_t address, size_t size, int flags);
270
int as_area_share(as_t *src_as, uintptr_t src_base, size_t acc_size,
270
int as_area_share(as_t *src_as, uintptr_t src_base, size_t acc_size,
271
    as_t *dst_as, uintptr_t dst_base, int dst_flags_mask);
271
    as_t *dst_as, uintptr_t dst_base, int dst_flags_mask);
-
 
272
extern int as_area_change_flags(as_t *as, int flags, uintptr_t address);
272
 
273
 
273
extern int as_area_get_flags(as_area_t *area);
274
extern int as_area_get_flags(as_area_t *area);
274
extern bool as_area_check_access(as_area_t *area, pf_access_t access);
275
extern bool as_area_check_access(as_area_t *area, pf_access_t access);
275
extern size_t as_area_get_size(uintptr_t base);
276
extern size_t as_area_get_size(uintptr_t base);
276
extern int used_space_insert(as_area_t *a, uintptr_t page, count_t count);
277
extern int used_space_insert(as_area_t *a, uintptr_t page, count_t count);
Line 297... Line 298...
297
/* Backend declarations and functions. */
298
/* Backend declarations and functions. */
298
extern mem_backend_t anon_backend;
299
extern mem_backend_t anon_backend;
299
extern mem_backend_t elf_backend;
300
extern mem_backend_t elf_backend;
300
extern mem_backend_t phys_backend;
301
extern mem_backend_t phys_backend;
301
 
302
 
-
 
303
/**
-
 
304
 * This flags is passed when running the loader, otherwise elf_load()
-
 
305
 * would return with a EE_LOADER error code.
-
 
306
 */
-
 
307
#define ELD_F_NONE  0
-
 
308
#define ELD_F_LOADER    1
-
 
309
 
302
extern unsigned int elf_load(elf_header_t *header, as_t *as);
310
extern unsigned int elf_load(elf_header_t *header, as_t *as, int flags);
303
 
311
 
304
/* Address space area related syscalls. */
312
/* Address space area related syscalls. */
305
extern unative_t sys_as_area_create(uintptr_t address, size_t size, int flags);
313
extern unative_t sys_as_area_create(uintptr_t address, size_t size, int flags);
306
extern unative_t sys_as_area_resize(uintptr_t address, size_t size, int flags);
314
extern unative_t sys_as_area_resize(uintptr_t address, size_t size, int flags);
-
 
315
extern unative_t sys_as_area_change_flags(uintptr_t address, int flags);
307
extern unative_t sys_as_area_destroy(uintptr_t address);
316
extern unative_t sys_as_area_destroy(uintptr_t address);
308
 
317
 
309
/* Introspection functions. */
318
/* Introspection functions. */
310
extern void as_print(as_t *as);
319
extern void as_print(as_t *as);
311
 
320