[OpenBIOS] Hello World

(Pieter Dumon) Pieter.Dumon at rug.ac.be
Wed Mar 11 19:18:02 CET 1998

> What would it take just to write a Hello World program? I think seeing
> this code would give people something of a starting place. Do we just load
> the Video BIOS up and use it to write a string to the screen and halt, or  
> can/should we do it without the Video BIOS?

You can do without the video BIOS in text mode. Just write the string to
the video buffer. When writing to this space in the address space, the
memory controller (part of the chipset) redirects this access to ROM (or
maps the ROM in RAM if this is in the setup). So, you write directly to
the video adapter's card ROM. In some memory controllers like in the PCI
chipset, you can even redefine where to put the video buffer and other ROM
area's. So you don't need the BIOS at all (unless the BIOS is coded really
good and has lots of functionality available, so you don't have to write
your own I/O routines. Its the goal of OpenBIOS to make such a good BIOS).
In graphics modes, you ill not want to program the video cards directly,
as huge differences can occur between types of cards. It's a lot easier to
let the BIOS safely do the right work for you (programming the video card
in a wrong way might destroy your screen if you cannot find the power
button quickly enough !). Adapter cards can "install" their own
adapter BIOS like now most SVGA adapters do. Mind that now, all adapter
BIOSs are 16-bit, real-mode as they have to work together with the BIOS
now existing in the PCs, werecompletely outdated OSs like DOS and
Windows95/98 still rule the world. 
> From there you can add support to initialize your chipsets functions.

> BTW, do we have anybody here with a SMP machine? Those do require more to
> initialize, and we will eventually want to make sure that works.

Ah, nice idea . Some basic multi-processor support must really be
provided by OpenBIOS. For instance routines for the interrupt controllers
etc (Like the APICs used in multi-processor Pentium/PentiumPro/PentiumII
systems. Every Pemtium has even its own interrupt controller!)
Scheduling and processor control is a OS kernel's job, however, and
shouldn't be included an any BIOS. I know some people here would like to
include a whole OS kernel, with filesystem and everything in the ROM BIOS,
but thsi really isn't the way of making a good BIOS and it surpasses the
BIOS goals : provide easy and good direct access to the hardware, with an
API that is equal for al systems, but providing all the functionality that
a specific system has.

 Pieter Dumon                    
   aka Death of the Rats

 Pieter.Dumon at rug.ac.be               

OpenBIOS -- http://www.linkscape.net/openbios/
openbios-request at linkscape.net   Body: un/subscribe
Problems?  dcinege at psychosis.com

More information about the openbios mailing list