Subject: Re: Atheros HAL vs NetBSD
To: Quentin Garnier <cube@cubidou.net>
From: Bill Stouder-Studenmund <wrstuden@netbsd.org>
List: tech-kern
Date: 08/27/2007 17:30:59
--+xNpyl7Qekk2NvDX
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Sat, Aug 25, 2007 at 02:07:53AM +0200, Quentin Garnier wrote:
> On Fri, Aug 24, 2007 at 11:52:11PM +0000, Andrew Doran wrote:
> >=20
> > Module Name:	src
> > Committed By:	ad
> > Date:		Fri Aug 24 23:52:11 UTC 2007
> >=20
> > Modified Files:
> > 	src/sys/arch/mips/mips: genassym.cf mipsX_subr.S
> > 	src/sys/contrib/dev/ath/netbsd: ah_osdep.c
> >=20
> > Log Message:
> > The Atheros HAL on MIPS uses %s7 as a general purpose register, but the
> > rest of the kernel uses it to store the value of curlwp. Sam won't
> > recompile the HAL for us (fair enough), and we can't modify the HAL
> > to use another register because doing so could put us in breach of
> > the license (v. crappy). So, do a save/set/restore on %s7 in KernIntr()
> > and in the stubs that the HAL uses to call back into the kernel.
>=20
> So NetBSD is a second-class citizen for a binary blob whose licence, as
> friendly as it might be to end users, is a pain in NetBSD's own
> developers' necks.
>=20
> That _should_ teach us a lesson.  I won't go as far as daring hoping it
> will, but it definitely should.

What lesson would that be?

1) Blob drivers can be painful? We knew that.

2) Alternatives to blob drivers are good? We knew that.

3) Sometimes a blob driver is the only option? We knew that.

4) Buy hardware that doesn't need blob drivers? We knew that, but see (3).

While I wish this situation was not as it is, I don't see what we can=20
really do differently. So I'm puzzled as to what "lesson we should learn."

Take care,

Bill

--+xNpyl7Qekk2NvDX
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (NetBSD)

iD8DBQFG02zDWz+3JHUci9cRAlRFAJwI5MEF0qEW9Qq0SDgfkZvsrxS9bQCfdVPZ
EV+T3myhxvHPxYpnNquePWk=
=xU2a
-----END PGP SIGNATURE-----

--+xNpyl7Qekk2NvDX--