Driver Development Books?

Scott Long scottl at samsco.org
Wed Oct 12 10:05:53 PDT 2005


Sangwoo Shim wrote:

> 2005/10/12, Scott Long <scottl at samsco.org>:
> 
>>Pete wrote:
>>
>>>Hello,
>>>   I have what may seem to be a silly question, but I cannot find any
>>>other decent resources on the web. >.< The problem that I am having
>>>right now is
>>>that I have a fairly nice graphics card which, for the moment is only
>>>supported on Windows Operating systems, and old 2.4 Linux kernels. So
>>>far there has
>>>not been much positive outlook in porting the drivers to *BSD or any of
>>>the 2.6 kernels that I know of, let alone 64-bit drivers for non-Win OSes.
>>>
>>>So I guess that makes my question fairly simple then; I know that driver
>>>code is written in C (which I am learning currently) but thats about all
>>>I know. I'm probably
>>>not far off when I say that I need more to go on. Yet, from looking at
>>>Amazon.com I have not been able to find any books on writing driver
>>>code, which is really
>>>frustrating.
>>>
>>>One of my security related books, Rootkits, tells me about how to write
>>>drivers for a completely different reason so I know a bit more about how
>>>they work but again
>>>the code involved does not interface hardware to the OS, just injects a
>>>custom application. The other tool that I will probably use is Jungo,
>>>which is a nice-looking
>>>application which automates a skeletal version of the driver you need,
>>>but again, I would not know how to fill it out.
>>>
>>>Any help is appreciated.
>>>
>>>-Pete
>>>
>>
>>There are indeed no books that I know of on the subject of writing
>>drivers for any *BSD, let alone FreeBSD.
> 
> [snip]
> 
> 
> For me, following book was quite helpful:
> Embedded FreeBSD cookbook, by Paul Cevoli
> ISBN: 1589950046
> 
> It tells about basic kernel data structure for driver writing. One of
> the best aspect of this book is that it shows you real code for real
> device (a simple PCI device). Moreover, it was quite easy to read.
> Although it focuses on FreeBSD 4.X. For those who want some
> _introduction_ for the FreeBSD driver
> writing, I would like to recommend this.
> 
> Regard,
> Sangwoo Shim

Ah, didn't know about that book.  Yes, that sounds like a good
foundation, though some aspects of drivers in 5.x and beyond are
vastly different than in 4.x and prior, particularly concerning
synchronization and interrupt behaviour.  The next step is to talk about
the different driver APIs and infrastructure, as well as debugging
guides.

Scott


More information about the freebsd-hackers mailing list