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