[OpenBIOS] INFO: How to contribute to OpenBIOS

Jeff Garzik jgarzik at mandrakesoft.com
Mon Jan 24 09:40:11 CET 2000

"Stawnyczy, Evan" wrote:
> I've been on this OpenBIOS newsletter for almost 2 months... i'ven't seen
> much traffic.  However, I would _LOVE_ to contribute, so, can someone tell
> me what is required, or in which way i can contribute?

Building OpenBIOS is quite easy, all you really need above a standard
Linux development system is 'nasm', which you can get from

Since the wishlist on the Web site is so long as to be unusable, here is
a short list of important tasks, and how you can contribute:

*** Implement BIOS interrupts.

MS-DOS, LILO, and many other operating systems and programs use BIOS
calls to communicate with the low-level hardware in a standard way. 
OpenBIOS needs the most popular BIOS calls implemented, so that DOS and
others can allocate memory, read/write to the drives, and similar

At present there is no BIOS interrupt processing in OpenBIOS.  So tasks
include (a) add the necessary hooks for BIOS interrupt processing, and
(b) implenting each BIOS call one-by-one.

Interested programmers should implement just one or two BIOS calls, then
send me a patch.  That way we can make the BIOS interrupt framework
public, so that many others can work individually implementing various
BIOS calls.

*** Support motherboard chipsets

Beginners come here!  This is one of the easier OpenBIOS tasks, and also
one of the most important.

Every motherboard has a core chipset which controls major functions like
talking to peripherals, RAM sizing, power management, and similar
tasks.  And each chipset is slightly different from one another in the
methods by which these tasks are accomplished.

If you want to contribute to OpenBIOS, the best thing you can do is get
the hardware datasheet for your motherboard -- it lists all the
motherboard registers -- and add bootstrap support for your chipset.

This task requires that you know a _little_ assembly language, enough at
least to look at the existing OpenBIOS chipset code and copy from there.

Steps to support a motherboard chipset the easy way:
* Figure out how your motherboard does RAM detection
* Go through your motherboard datasheet, and write down a good,
conservative (ie. SLOW) value for each register
* Write this list of registers into an assembly language data table
* Write code which runs through this table, writing each register value
to the motherboard chipset registers

Note that Intel and many other motherboard chipset vendors make their
databooks (specs) publicly available on the Web.

*** Support BIOS extensions

A third important task is supporting key BIOS extensions, such as the

This task is similar to the BIOS interrupt task above.

Jeff Garzik         | Andre the Giant has a posse.
Building 1024       |
MandrakeSoft, Inc.  |
To unsubscribe: send mail to majordomo at freiburg.linux.de
with 'unsubscribe openbios' in the body of the message

More information about the openbios mailing list