[coreboot] [RFC] port bochs-bios to gcc

Kevin O'Connor kevin at koconnor.net
Fri Feb 22 04:44:40 CET 2008

FYI.  I'm interested in reviving the ADLO effort.  I sent the
following email to the bochs developers mailing list.


----- Forwarded message from Kevin O'Connor <kevin at koconnor.net> -----

From: Kevin O'Connor <kevin at koconnor.net>
To: bochs-developers at lists.sourceforge.net
Date: Thu, 21 Feb 2008 22:31:28 -0500
Subject: [RFC] port bochs-bios to gcc


I'm interested in porting the "bochs bios" code to gcc.  This is the
code currently located in the "bochs/bios/" directory - mostly in the
file "rombios.c".

I've gotten my port far enough along to boot a freedos floppy image.
There is still plenty of work to be done, but I believe I have gotten
the code to a point where I can demonstrate that the methodology is

I am looking for comments on the idea, feedback on the code, and
hopefully to spur other developer interest.

In order to use gcc to build 16 bit code, the code uses the
".code16gcc" feature of the gnu assembler (gas).  This same option is
used in the boot code of recent Linux kernels.

The code should build using standard gnu tools.  (Just untar the
package and run "make".)  I use a standard FC8 Linux machine.  The
code isn't too big, so I will try to attach it to this email.

As above, the code is in an "early alpha" state, but one should be
able to test it with an emulator.  (I tested it with qemu.)

Why do this?  My main interest is in eventually getting the code to
run on real hardware.  The current rombios.c code is rather scary - it
is about eleven thousand lines of code, of which about a third is
assembler.  I'm hoping a port to standard C will spur greater
flexibility and interest in the project.


----- End forwarded message -----
-------------- next part --------------
A non-text attachment was scrubbed...
Name: legacybios-0.1.0.tar.gz
Type: application/x-gzip
Size: 35359 bytes
Desc: not available
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20080221/a23759d6/attachment.gz>

More information about the coreboot mailing list