Changes in kernel/generic/src/mm/backend_elf.c [d99c1d2:98000fb] in mainline
- File:
-
- 1 edited
-
kernel/generic/src/mm/backend_elf.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/src/mm/backend_elf.c
rd99c1d2 r98000fb 38 38 #include <lib/elf.h> 39 39 #include <debug.h> 40 #include < typedefs.h>40 #include <arch/types.h> 41 41 #include <mm/as.h> 42 42 #include <mm/frame.h> … … 232 232 void elf_frame_free(as_area_t *area, uintptr_t page, uintptr_t frame) 233 233 { 234 elf_header_t *elf = area->backend_data.elf; 234 235 elf_segment_header_t *entry = area->backend_data.segment; 235 uintptr_t start_anon; 236 uintptr_t base, start_anon; 237 size_t i; 236 238 237 239 ASSERT((page >= ALIGN_DOWN(entry->p_vaddr, PAGE_SIZE)) && 238 240 (page < entry->p_vaddr + entry->p_memsz)); 241 i = (page - ALIGN_DOWN(entry->p_vaddr, PAGE_SIZE)) >> PAGE_WIDTH; 242 base = (uintptr_t) (((void *) elf) + 243 ALIGN_DOWN(entry->p_offset, FRAME_SIZE)); 239 244 start_anon = entry->p_vaddr + entry->p_filesz; 240 245 … … 252 257 * lower part is backed by the ELF image and the upper is 253 258 * anonymous). In any case, a frame needs to be freed. 254 */ 259 */ 255 260 frame_free(frame); 256 261 }
Note:
See TracChangeset
for help on using the changeset viewer.
