On Tue, 26 Oct 2004 Stephen.Kimball@bench.com wrote:
Can someone tell me what the starting sequence is with LinuxBIOS?
Reset jumps to crt0.s. crt0.s calls auto.E. auto.E is built using romcc, so source-level debugging is not possible.
ah well :-)
The statement locations can be found using the Lxxxx labels in linuxbios.map.
hardwaremain is called. Hardwaremain is the first C function called.
Crt0 and auto run out of FLASH. Hardwaremain is the first function called after LinuxBIOS is copied to RAM.
sounds good so far.
It seems that LinuxBIOS copies itself to _RAMBASE, which is 0x4000. Then it branches to 0x4000 into _start, which sets up the stack and calls hardwaremain. The address of hardwaremain from linuxbios_c.o is wrong. The address is not the Flash address and it's not the RAM address. Can someone explain how linuxbios_c.o is linked with RAM addresses?