/kernel/trunk/generic/src/ddi/ddi.c |
---|
65,7 → 65,10 |
cap_t caps; |
task_t *t; |
int flags; |
mem_backend_data_t backend_data = { .d1 = (__native) pf, .d2 = (__native) pages }; |
mem_backend_data_t backend_data; |
backend_data.base = pf; |
backend_data.frames = pages; |
/* |
* Make sure the caller is authorised to make this syscall. |
/kernel/trunk/generic/src/lib/elf.c |
---|
162,7 → 162,10 |
{ |
as_area_t *a; |
int flags = 0; |
mem_backend_data_t backend_data = { .d1 = (__native) elf, .d2 = (__native) entry }; |
mem_backend_data_t backend_data; |
backend_data.elf = elf; |
backend_data.segment = entry; |
if (entry->p_align > 1) { |
if ((entry->p_offset % entry->p_align) != (entry->p_vaddr % entry->p_align)) { |
/kernel/trunk/generic/src/mm/backend_anon.c |
---|
51,9 → 51,6 |
static void anon_frame_free(as_area_t *area, __address page, __address frame); |
static void anon_share(as_area_t *area); |
/* |
* Anonymous memory backend. |
*/ |
mem_backend_t anon_backend = { |
.page_fault = anon_page_fault, |
.frame_free = anon_frame_free, |
/kernel/trunk/generic/src/mm/backend_phys.c |
---|
63,8 → 63,8 |
*/ |
int phys_page_fault(as_area_t *area, __address addr, pf_access_t access) |
{ |
__address base = (__address) area->backend_data.d1; |
count_t frames = (count_t) area->backend_data.d2; |
__address base = area->backend_data.base; |
count_t frames = area->backend_data.frames; |
if (!as_area_check_access(area, access)) |
return AS_PF_FAULT; |
/kernel/trunk/generic/src/mm/backend_elf.c |
---|
64,8 → 64,8 |
*/ |
int elf_page_fault(as_area_t *area, __address addr, pf_access_t access) |
{ |
elf_header_t *elf = (elf_header_t *) area->backend_data.d1; |
elf_segment_header_t *entry = (elf_segment_header_t *) area->backend_data.d2; |
elf_header_t *elf = area->backend_data.elf; |
elf_segment_header_t *entry = area->backend_data.segment; |
__address base, frame; |
index_t i; |
132,8 → 132,8 |
*/ |
void elf_frame_free(as_area_t *area, __address page, __address frame) |
{ |
elf_header_t *elf = (elf_header_t *) area->backend_data.d1; |
elf_segment_header_t *entry = (elf_segment_header_t *) area->backend_data.d2; |
elf_header_t *elf = area->backend_data.elf; |
elf_segment_header_t *entry = area->backend_data.segment; |
__address base; |
index_t i; |