--- src/io/prom/promboot.cc 2007/09/05 17:11:21 1 +++ src/io/prom/promboot.cc 2007/09/05 18:52:58 8 @@ -491,7 +491,7 @@ bool mapped_load_elf_from_chrp(File &f, uint disp_off) { String fn; - PROMBOOT_OUTPUT("ELF: trying to load '%y'\n", &f.getDesc(fn)); + PROMBOOT_OUTPUT("ELF: trying to load '%y' (CHRP)\n", &f.getDesc(fn)); try { ELF_HEADER32 hdr; ELF_PROGRAM_HEADER32 *phdr; @@ -703,6 +703,7 @@ return false; } + uint32 entry; uint32 la = ELF_LOAD_ADDRESS; f.seek(0x2c); uint16 program_hdrs; @@ -711,19 +712,21 @@ uint32 stack=0; uint32 stackp=0; for (int i=0; i 0) { -// ht_printf("creating for ea:%08x (pa:%08x)\n", ea, la); + ht_printf("creating for ea:%08x (pa:%08x)\n", ea, la); if (!init_page_create(ea, la)) return false; la += 4096; ea += 4096; @@ -768,10 +771,7 @@ } - f.seek(0x18); - uint32 entry; - f.readx(&entry, 4); - entry = createHostInt(&entry, 4, big_endian); + IO_PROM_TRACE("starting program from PC %08x\n", entry); // turn on address translation ppc_cpu_set_msr(0, MSR_IR | MSR_DR | MSR_FP);