--- trunk/ppc32.c 2007/10/06 16:45:40 12 +++ trunk/ppc32.c 2007/10/12 09:40:41 13 @@ -508,7 +508,7 @@ if (!haddr) { fprintf(stderr,"load_raw_image: invalid load address 0x%8.8x\n", vaddr); - return(-1); +// return(-1); } if (len > PPC32_MIN_PAGE_SIZE) @@ -598,6 +598,8 @@ fseek(bfd,shdr->sh_offset,SEEK_SET); vaddr = shdr->sh_addr; + // XXX my kernel address in elf file + vaddr = vaddr - 0xc0000000; if (cpu->vm->debug_level > 0) { printf(" * Adding section at virtual address 0x%8.8x " @@ -635,6 +637,7 @@ printf("ELF loading skipped, using a ghost RAM file.\n"); } + ehdr->e_entry = ehdr->e_entry - 0xc0000000; // XXX printf("ELF entry point: 0x%x\n",ehdr->e_entry); if (entry_point)