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 |