FreeBSD DRIVER DEVELOPMENT
rk at nanoteq.co.za
Tue Dec 2 22:31:24 PST 2003
> As with every device driver, the recommended (or at least proved)
> way is to take an existing, simple driver, and modify it to suit
> your needs.
The simplest driver is probably the puc (sys/dev/pci/puc.c) driver, it has a
lot of the elements that a driver can have.
> Kernel interfaces are documented in intro(9) and related section 9
> man pages (ls /usr/share/man/man9)
Some (one that I can think of) of the kernel interfaces are not given here.
The interface to the dma services (bus_dma) you can find at :
You can also look at the ISA section, because of the NEWBUS architecture an
ISA driver is very similar to a PCI driver in many ways, e.g. allocating
bus resources, setting up interupt handlers etc.
A few articles on www.daemonnews.org can also help:
NEWBUS intro (helped me a lot):
KLD (loadable modules) :
More information about the freebsd-questions