Changeset 7f1c620 in mainline for generic/src/mm/backend_elf.c
- Timestamp:
- 2006-07-04T17:17:56Z (19 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 0ffa3ef5
- Parents:
- 991779c5
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
generic/src/mm/backend_elf.c
r991779c5 r7f1c620 51 51 #include <arch.h> 52 52 53 static int elf_page_fault(as_area_t *area, __addressaddr, pf_access_t access);54 static void elf_frame_free(as_area_t *area, __address page, __addressframe);53 static int elf_page_fault(as_area_t *area, uintptr_t addr, pf_access_t access); 54 static void elf_frame_free(as_area_t *area, uintptr_t page, uintptr_t frame); 55 55 static void elf_share(as_area_t *area); 56 56 … … 71 71 * @return AS_PF_FAULT on failure (i.e. page fault) or AS_PF_OK on success (i.e. serviced). 72 72 */ 73 int elf_page_fault(as_area_t *area, __addressaddr, pf_access_t access)73 int elf_page_fault(as_area_t *area, uintptr_t addr, pf_access_t access) 74 74 { 75 75 elf_header_t *elf = area->backend_data.elf; 76 76 elf_segment_header_t *entry = area->backend_data.segment; 77 77 btree_node_t *leaf; 78 __addressbase, frame;78 uintptr_t base, frame; 79 79 index_t i; 80 80 … … 84 84 ASSERT((addr >= entry->p_vaddr) && (addr < entry->p_vaddr + entry->p_memsz)); 85 85 i = (addr - entry->p_vaddr) >> PAGE_WIDTH; 86 base = ( __address) (((void *) elf) + entry->p_offset);86 base = (uintptr_t) (((void *) elf) + entry->p_offset); 87 87 ASSERT(ALIGN_UP(base, FRAME_SIZE) == base); 88 88 … … 95 95 96 96 mutex_lock(&area->sh_info->lock); 97 frame = ( __address) btree_search(&area->sh_info->pagemap,97 frame = (uintptr_t) btree_search(&area->sh_info->pagemap, 98 98 ALIGN_DOWN(addr, PAGE_SIZE) - area->base, &leaf); 99 99 if (!frame) { … … 135 135 */ 136 136 if (entry->p_flags & PF_W) { 137 frame = ( __address)frame_alloc(ONE_FRAME, 0);137 frame = (uintptr_t)frame_alloc(ONE_FRAME, 0); 138 138 memcpy((void *) PA2KA(frame), (void *) (base + i*FRAME_SIZE), FRAME_SIZE); 139 139 … … 154 154 * and cleared. 155 155 */ 156 frame = ( __address)frame_alloc(ONE_FRAME, 0);156 frame = (uintptr_t)frame_alloc(ONE_FRAME, 0); 157 157 memsetb(PA2KA(frame), FRAME_SIZE, 0); 158 158 … … 171 171 */ 172 172 size = entry->p_filesz - (i<<PAGE_WIDTH); 173 frame = ( __address)frame_alloc(ONE_FRAME, 0);173 frame = (uintptr_t)frame_alloc(ONE_FRAME, 0); 174 174 memsetb(PA2KA(frame) + size, FRAME_SIZE - size, 0); 175 175 memcpy((void *) PA2KA(frame), (void *) (base + i*FRAME_SIZE), size); … … 202 202 * 203 203 */ 204 void elf_frame_free(as_area_t *area, __address page, __addressframe)204 void elf_frame_free(as_area_t *area, uintptr_t page, uintptr_t frame) 205 205 { 206 206 elf_header_t *elf = area->backend_data.elf; 207 207 elf_segment_header_t *entry = area->backend_data.segment; 208 __addressbase;208 uintptr_t base; 209 209 index_t i; 210 210 211 211 ASSERT((page >= entry->p_vaddr) && (page < entry->p_vaddr + entry->p_memsz)); 212 212 i = (page - entry->p_vaddr) >> PAGE_WIDTH; 213 base = ( __address) (((void *) elf) + entry->p_offset);213 base = (uintptr_t) (((void *) elf) + entry->p_offset); 214 214 ASSERT(ALIGN_UP(base, FRAME_SIZE) == base); 215 215 … … 246 246 link_t *cur; 247 247 btree_node_t *leaf, *node; 248 __addressstart_anon = entry->p_vaddr + entry->p_filesz;248 uintptr_t start_anon = entry->p_vaddr + entry->p_filesz; 249 249 250 250 /* … … 270 270 271 271 for (i = 0; i < node->keys; i++) { 272 __addressbase = node->key[i];272 uintptr_t base = node->key[i]; 273 273 count_t count = (count_t) node->value[i]; 274 274 int j;
Note:
See TracChangeset
for help on using the changeset viewer.