Rev 1411 | Rev 1424 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1411 | Rev 1423 | ||
---|---|---|---|
Line 234... | Line 234... | ||
234 | elf_header_t *elf = (elf_header_t *) area->backend_data[0]; |
234 | elf_header_t *elf = (elf_header_t *) area->backend_data[0]; |
235 | elf_segment_header_t *entry = (elf_segment_header_t *) area->backend_data[1]; |
235 | elf_segment_header_t *entry = (elf_segment_header_t *) area->backend_data[1]; |
236 | __address base, frame; |
236 | __address base, frame; |
237 | index_t i; |
237 | index_t i; |
238 | 238 | ||
- | 239 | if (!as_area_check_access(area, access)) |
|
- | 240 | return AS_PF_FAULT; |
|
- | 241 | ||
239 | ASSERT((addr >= entry->p_vaddr) && (addr < entry->p_vaddr + entry->p_memsz)); |
242 | ASSERT((addr >= entry->p_vaddr) && (addr < entry->p_vaddr + entry->p_memsz)); |
240 | i = (addr - entry->p_vaddr) >> PAGE_WIDTH; |
243 | i = (addr - entry->p_vaddr) >> PAGE_WIDTH; |
241 | base = (__address) (((void *) elf) + entry->p_offset); |
244 | base = (__address) (((void *) elf) + entry->p_offset); |
242 | ASSERT(ALIGN_UP(base, FRAME_SIZE) == base); |
245 | ASSERT(ALIGN_UP(base, FRAME_SIZE) == base); |
243 | 246 |