Hi Kevin,

Fixed the error on the linker, but now i got another error which i don't understand, can you help me ?

make
  Compiling whole program out/ccode.16.s
  Compiling (16bit) out/code16.o
  Compiling whole program out/ccode32flat.o
  Building ld scripts (version "pre-0.6.2-20110115_181202-mbertens-desktop")
Fixed space: 0xe05b-0x10000  total: 8101  slack: 15  Percent slack: 0.2%
16bit size:           37904
32bit segmented size: 2217
32bit flat size:      14007
32bit flat init size: 38848
Traceback (most recent call last):
  File "./tools/layoutrom.py", line 579, in <module>
    main()
  File "./tools/layoutrom.py", line 576, in main
    writeLinkerScripts(sections, entrysym, genreloc, out16, out32seg, out32flat)
  File "./tools/layoutrom.py", line 257, in writeLinkerScripts
    + COMMONTRAILER)
TypeError: %x format: a number is required, not NoneType
make: *** [out/romlayout16.lds] Error 1

Regards,

Marc


-----Original Message-----
From: Marc Bertens <mbertens@xs4all.nl>
To: Kevin O'Connor <kevin@koconnor.net>
Cc: seabios@seabios.org
Subject: [SeaBIOS] Question about linker building seabios
Date: Sat, 15 Jan 2011 10:56:43 +0100

Hi Kevin,

I'm adding a VT100 serial console to the seabios code. 
Which can be set to port COM1 or COM2. 
I added the interrupt vector in the serial_setup() routine. 
And made the interrupt service routine. The compiling goes 
fine, no problems there. But in the linking stage an error 
is reported to the line of the interrupt service routine: 

make
  Compiling whole program out/ccode.16.s
  Compiling (16bit) out/code16.o
  Compiling whole program out/ccode32flat.o
  Building ld scripts (version "pre-0.6.2-20110115_103541-mbertens-desktop")
Fixed space: 0xe05b-0x10000  total: 8101  slack: 15  Percent slack: 0.2%
16bit size:           37264
32bit segmented size: 2217
32bit flat size:      14007
32bit flat init size: 38848
  Linking out/rom16.o
  Stripping out/rom16.strip.o
  Linking out/rom32seg.o
  Stripping out/rom32seg.strip.o
  Linking out/rom.o
`.discard.func16.src/serial.c.261' referenced in section `.text.init_hw.54839' of out/code32flat.o: defined in discarded section `.discard.func16.src/serial.c.261' of out/code32flat.o
make: *** [out/rom.o] Error 1

Can you tell me what i'm doing wrong or missing to do?

Below here are the code snippets:
    // INT(3/4)h : Serial Hardware Service Entry Point (for keyboard handling)
    void VISIBLE16 handle_console_serial( void )
    {
        ...    // my code
        ...
    done:
        eoi_pic1();
    }


    void
    serial_setup(void)
    {
        ...  // orginal code
   
        ...
        #if CONFIG_KEYBOARD_SERIAL
            con_addr = GET_BDA( port_com[ CONFIG_KEYBOARD_SERIAL - 1 ] );
            dprintf( 3, "keyboard on serial port %x\n", con_addr );
        # if CONFIG_KEYBOARD_SERIAL == 1 || CONFIG_KEYBOARD_SERIAL == 3
            enable_hwirq( 4, FUNC16( handle_console_serial ) );
        # else
            enable_hwirq( 3, FUNC16( handle_console_serial ) );
        # endif
        #endif
    }

Regards,

Marc Bertens
_______________________________________________
SeaBIOS mailing list
SeaBIOS@seabios.org
http://www.seabios.org/mailman/listinfo/seabios