HALs considered harmful
Posted Mar 24, 2005 21:25 UTC (Thu) by eli
In reply to: HALs considered harmful
Parent article: HALs considered harmful
The purpose of a HAL is, as you say, "to abstract away the differences
between Linux, Windows, Solaris, et al." (Add VxWorks, and other RTOS's
to that list.)
The interesting thing here is that "just one, single, good HAL" means
writing an API for drivers to code against, and writing an
implementation of that API for every supported OS; one for Windows
XP, one for Windows 2003, ..., one for Linux 2.6, one for Linux 2.6.10+,
one for Linux 2.4.n+, one for Solaris x.y, one for VxWorks a.b+, etc.
But once you do that, you've started a separate project. You might be
able to get your HAL.Linux.2.6.current driver accepted into the mainline
kernel (maybe), but that's only one part; you need to get the hardware
vendors on board too. That might be feasible... write their driver to
your HAL API once, and they can run on 17 different OS flavors.
The license would be an interesting bit of legal work... GPL compatible
for the Linux layers, (BSD if you could argue it wasn't a derived work),
probably BSD or the like for the rest.
It'd be an interesting possibility--but it would be its own project
separate from the Linux kernel development.
to post comments)