Port-sparc archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Anita now supports sparc



On Thu, Sep 02, 2010 at 09:08:05 +0400, Valeriy E. Ushakov wrote:

> It fails in inflate() called from sys/lib/libsa/loadfile_elf32.c:419
> 
>     nr = READ(fd, maxp, shp[elf->e_shstrndx].sh_size);
> 
> introduced in
> 
> revision 1.25
> date: 2010/03/12 21:43:11;  author: darran;  state: Exp;  lines: +60 -4
> DTrace: Add support for CTF sections in the netbsd elf image, load these
> at boot.
> Add a ksyms_mod_foreach() function to iterate a callback function over the
> set of elf symbols for a specific module (netbsd included).
> Add kern_ctf.c and mod_ctf_get() to allow the retrieval and decompression
> of CTF sections for a specific module.
> 
> The failed read is to maxp=0xf030d71c size=252
> 
> If i disable boot_load_ctf, then the kernel loads and boot fine.
> 
> I guess qemu does something differently than real hw, since my
> javastation can boot current ok.
> 
> I'm not sure I follow maxp dances that happen in loadfile_elf32(), but
> I don't have time to look deeper now.

Oh, I see.  That bit of code always calls READ.

sparc boot calls loadfile() twice, first with COUNT_KERNEL, then with
LOAD_KERNEL.  When it calls it the first time, the kernel memory where
READ reads to is not yet allocated.  I guess on real proms that works
for some magic reason or other, but qemu's OBP is different.

-uwe


Home | Main Index | Thread Index | Old Index