Trouble with etherboot-5.2.2

Eric W. Biederman ebiederman at lnxi.com
Tue Jan 6 17:18:00 CET 2004


Dave Ashley <linuxbios at xdr.com> writes:

> Eric wrote:
> 
> >Take a look at the values in the segment list in elfboot.c and see
> >if you can track down how it is getting corrupted.  My hunch says it is
> >most likely a mis setup of your DRAM controller.
> 
> I've tracked the problem to the function get_bounce_buffer in
> src/lib/elfboot.c, it is returning 5f646e8 for some reason. I added
> some printk's to that function and get this:
> 
> zzz mem_entries = 3, lb_size=9b918
> zzz 1: mstart=6a8, msize=9f958, mend=a0000, tbuffer=46e8
> zzz 2: mstart=100000, msize=5f00000, mend=6000000, tbuffer=5f646e8

Duh. Etherboot is wanting the same addresses that linuxBIOS is using,
so I allocate a bounce buffer at the top of memory.  

> The 5.2.2 elf file exercises more of the elfboot.c. The bounce buffer should
> be in valid memory, there is 128M total minus 32M for video, which now that
> I think about it is way more than we need. So 0x6000000 total memory.

On my box that address does not trigger the bounce buffer code.  But
I know I tested it ages ago when I added it.

So either there is a bug in the bounce buffer code, or
in the hand off to etherboot.

Easy things to try.
1) load the new etherboot with the old etherboot, over the network.
   That should confirm that the code actually works.
2) Play with RELOCADDR in etherboot so we don't trigger the bounce
   buffer case.

Eric



More information about the coreboot mailing list