Subject: Re: Binary only drivers in sys?
To: Bill Studenmund <wrstuden@NetBSD.org>
From: Sam Leffler <sam@errno.com>
List: tech-kern
Date: 08/25/2003 13:11:16
[picking an arbitrary message to reply to...]

Perhaps I can clarify slightly about the Atheros code/driver.  The driver 
is composed of two pieces.  One is provided in source.  The other is binary 
only.  The binary-only component is used to isolate the "sensitive bits" 
that do things like train radios to particular frequencies and is done to 
comply with local regulatory requirements.  The division between driver and 
HAL (Hardware Access Layer) has been designed so that drivers can use all 
the functionality of the hardware.  For all intents and purposes you can 
think of the HAL as the firmware that would be on a device of this sort if 
it had an onboard processor (which the Atheros parts do not).

I/Atheros give out the HAL and it has a very liberal license that allows 
folks to use it basically any way you wish so long as you don't tamper with 
it (e.g. you can use it in products w/o royalty).

The big downside to this whole thing is that you need a binary HAL for your 
platform.  I currently give out x86 versions but will shortly be able to 
give out versions for any platform that GCC can target.  The gating factor 
has been my time.

I've been encouraging folks for a long time now to work with me to make 
Atheros support a standard part of BSD systems.  I consider it a major step 
forward from hardware like that made by Intersil.

	Sam