for(claim_addr = PROG_START;
claim_addr <= PROG_START * 8;
claim_addr += 0x100000) {
+#ifdef DEBUG
printf(" trying: 0x%08lx\n\r", claim_addr);
+#endif
vmlinux.addr = (unsigned long)claim(claim_addr, claim_size, 0);
if ((void *)vmlinux.addr != (void *)-1) break;
}
if (elf64ph->p_type == PT_LOAD && elf64ph->p_offset != 0)
break;
}
+#ifdef DEBUG
printf("... skipping 0x%lx bytes of ELF header\n\r",
(unsigned long)elf64ph->p_offset);
+#endif
vmlinux.addr += (unsigned long)elf64ph->p_offset;
vmlinux.size -= (unsigned long)elf64ph->p_offset;
bi_recs = make_bi_recs(vmlinux.addr + vmlinux.memsize);
kernel_entry = (kernel_entry_t)vmlinux.addr;
+#ifdef DEBUG
printf( "kernel:\n\r"
" entry addr = 0x%lx\n\r"
" a1 = 0x%lx,\n\r"
" bi_recs = 0x%lx,\n\r",
(unsigned long)kernel_entry, a1, a2,
(unsigned long)prom, (unsigned long)bi_recs);
+#endif
kernel_entry( a1, a2, prom, bi_recs );