> Sometimes the binary bits are loaded into the cards, maybe most often,
> and therefore can be done in plan9 as well.  Depending on the vendor
> you may need permission from them to distribute the binary part.

cf. etherm10g.c.  the myricom driver loads a metric ton of firmware into
the card.

> I suspect that some of these drivers are missing still because the
> hardware is not available to the developers who can write them.
> 
[...]
> 
> I think the one of the BSD projects, OpenBSD perhaps, used to accept
> hardware donations to this end.  If we had a wayto get the hardware
> and the technical documentation in the same place as the developers we
> could get more hardware supported.

good point.  there's plenty of hardware out there with full
documentation that's cheep.  ati has fully documented the 2d
in newer cards, for example.  (a project i never seem to get to.)
intel have done the same.  there are also a number of cards that
aren't really documented but seem straightforward anway — like
the old nvidia propritary sata interface.  if you have such a board
and need >2 drives, this might be a fun and easy project.

writing drivers is an interesting exercize.  on the one hand, small
errors will get you quickly because they typically run millions of
times per second.  this isn't all bad because one finds errors quite
quickly. :-)  on the other hand, they typically follow a
small, constrained interface so it's easy to know when you're done
and you don't need to design an interface.

- erik

Reply via email to