Hi again,
when I compile this config file:
arch i386
target /home/niko/freebios/m756
mainboard pcchips/m756t
option HAVE_FRAMEBUFFER
docipl northsouthbridge/sis/630
option USE_DOC_MIL
linux /l2/linux-2.4.7-lb
commandline root=/dev/hda6 console=tty0
I get this error:
ar cr linuxbios.a crt0.o boot.o i386_subr.o params.o hardwaremain.o
pirq_routing.o linuxbiosmain.o linuxpci.o newpci.o printk.o serial_subr.o
subr.o vsprintf.o memset.o memcpy.o memcmp.o malloc.o elfboot.o do_inflate.o
delay.o uniform_boot.o fill_inbuf.o rom_fill_inbuf.o docmil_fill_inbuf.o
tsunami_tigbus_rom_fill_inbuf.o serial_fill_inbuf.o tftp_fill_inbuf.o boot.o
i386_subr.o params.o hardwaremain.o pirq_routing.o linuxbiosmain.o
linuxpci.o newpci.o printk.o serial_subr.o subr.o vsprintf.o memset.o
memcpy.o memcmp.o malloc.o elfboot.o do_inflate.o delay.o uniform_boot.o
fill_inbuf.o
rom_fill_inbuf.o docmil_fill_inbuf.o tsunami_tigbus_rom_fill_inbuf.o
serial_fill_inbuf.o tftp_fill_inbuf.o southbridge.o northbridge.o superio.o
mainboard.o irq_tables.o keyboard.o cpuid.o microcode.o mtrr.o l2_cache.o
gcc -nostdlib -r -o linuxbios.o crt0.o linuxbios.a
/usr/lib/gcc-lib/i386-redhat-linux/2.96/libgcc.a
echo "INCLUDE ldoptions" > ldscript.ld ; for file in
/home/niko/freebios/src/arch/i386/config/ldscript.base
/home/niko/freebios/src/cpu/i386/entry16.lds ; do echo "INCLUDE $file" >>
ldscript.ld ; done
gcc -nostdlib -nostartfiles -static -o linuxbios -T ldscript.ld linuxbios.o
linuxbios.o: In function `final_mainboard_fixup':
linuxbios.o(.text+0x4a81): undefined reference to `final_superio_fixup'
collect2: ld returned 1 exit status
make: *** [linuxbios] Error 1
[root@qis m756]#
the problem is that final_superio_fixup() is not defined in my mainboard.c
this is the mainboard.c I end up:
#include "/home/niko/freebios/src/include/printk.h"
void
mainboard_fixup(void)
{
}
void
final_mainboard_fixup(void)
{
void final_southbridge_fixup(void);
void final_superio_fixup(void);
// printk(KERN_INFO "PCCHIPS M756LMR+ (and similar)...");
final_southbridge_fixup();
final_superio_fixup();
}
the function final_superio_fixup() is only declared, but not defined. Do I
have to define it myself? What should it have, can I just make a void
definition? or do this functions defined in some file I still did not find?
The layout linuxbios has is kinda dificult to understand.....
Nikolai