rk47 rk at
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 can also help:
NEWBUS intro (helped me a lot):
KLD (loadable modules) :

Good Luck

More information about the freebsd-questions mailing list