Subject: Re: putting functionality in firmware vs OS
To: Michael Graff <explorer@flame.org>
From: Todd Whitesel <toddpw@best.com>
List: tech-kern
Date: 07/29/1998 19:33:59
> I take the other approach -- I'd like hardware _drivers_ to be in the
> firmware, and called from NetBSD.  Like open firmware, sorta.

This seems nice, but to guarantee performance you need more than just API
calls defined. How are DMA channels and buffers going to be managed, for
instance. And what instruction set do you use, or have I just invited the
Java's Witnesses into my house? On a related topic, F-code looks promising,
but is it considered by anyone to be adequate for more than just booting?

Hence, I2O. It goes a long way towards solving these problems, but since it
is a commercial initiative, one must pay $$$ and deal with NDAs in order to
get access to it. Take heart in the fact that it has saved StrongARM's bacon
big time, and sowed the seeds of the i960's well-deserved destruction.

My only real complaint with the concept of the motherboard BIOS configuring
everything is that the results must be safely probe-able by the O/S without
ever talking to the BIOS again, or the BIOS must provide a data structure
that describes what it did. This is necessary for machine independence.

Something which I expect to become more of an issue in the future, is the
previously unviolated invariant relied upon by commodity PC peripherals
that one is running an x86 CPU and can freely make function calls into an
on-card BIOS in order to get things done. It certainly is the route of
least effort for PC peripheral makers, but it also creates and maintains
a strong catch-22 that shafts other PCI systems (powermac, alpha/ATX,
arm32/CATS, etc.) which aren't running x86's.

I very much believe in a future where you can buy an ATX case and
motherboard with whatever processor you want on it, load up with well-
documented commodity PC peripherals, boot the NetBSD CD-ROM, tell it to
rape your machine over, and 20 minutes later you're staring at an xdm
login screen -- with Lasseter's drawing of the Beastie as the wallpaper.

But it's going to take a lot of porting and portability evangelism to
get us there.

Todd Whitesel
toddpw @ best.com