linuxbios on epia-m -- not starting

Niki Waibel niki.waibel at newlogic.com
Mon Sep 22 06:33:00 CEST 2003


linuxbios does not start ...
i can see:
===
LinuxBIOS-1.0.0 Mon Sep 22 02:17:36 CEST 2003 starting...
Copying LinuxBIOS to ram.
Jumping to LinuxBIOS.
===
that's it.
first i tought it is a mem problem (512MB Infineon CL2).
i changed 0x350 to 0x150 in src/northbridge/via/vt8623/raminit.inc
and i've activated ../freebios/src/ram/ramtest.inc
in ../freebios/src/mainboard/via/epia-m/Config.
it seems that everything is ok:
===
LinuxBIOS-1.0.0 Mon Sep 22 12:38:53 CEST 2003 starting...                       
Testing SDRAM : 00000000-0009ffff                                               
SDRAM fill:                                                                     
0009ffff                                                                        
SDRAM verify:                                                                   
0009ffff                                                                        
Done.                                                                           
Copying LinuxBIOS to ram.                                                       
Jumping to LinuxBIOS.                                                     
===

so i tried to figure out where the stop occurs.
i verified if the code is copied correctly:
===
LinuxBIOS-1.0.0 Mon Sep 22 02:17:36 CEST 2003 starting...                       
Copying LinuxBIOS to ram.                                                       
NIKI: Jumping to LinuxBIOS.                                                     
src:  000f0b70
dst:  00004000
size: 0000aa8c
src_code: 010f2efa00405215
dst_code: 010f2efa00405215
===
-> fine.

unfort i dont know much about x86 asm...

but it seems that the problem is somewhere in
c_start.s ...

if i put
        movl $0xfffe0000, %edi
        jmp *%edi
to the top of the _start: function then linuxbios loops.
(i just wanted to check if the copied code is executed...)

is that a better way to find out what's wrong?



by the way:
===
gcc -x assembler-with-cpp -DASSEMBLY -E ... crt0.S > crt0.s 
gcc ... -o crt0.o crt0.s
crt0.S: Assembler messages:
crt0.S:163: Warning: indirect jmp without `*'
===
instead of:
        leal    _iseg, %edi
        jmp     %edi
shouldn't it be:
        leal    _iseg, %edi
        jmp     *%edi
?

niki w. waibel



More information about the coreboot mailing list