Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 03 Dec 2003 08:36:42 +0200
From:      rk47 <rk@nanoteq.co.za>
To:        freebsd-questions@freebsd.org
Subject:   Re: FreeBSD DRIVER DEVELOPMENT
Message-ID:  <bqjvvl$f0n$1@sea.gmane.org>
References:  <000801c3b835$8a5f3a60$1c77fea9@dpc27> <20031202150109.52c9e309.kitsune@gmx.co.uk> <200312030115.hB31FRaQ027935@fw.farid-hajji.net>

next in thread | previous in thread | raw e-mail | index | archive | help
 
> 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 :
http://www.openbsd.org/cgi-bin/man.cgi

> http://www.freebsd.org/doc/en_US.ISO8859-1/books/arch-handbook/pci.html)
> 
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):
http://www.daemonnews.org/200007/newbus-intro.html
KLD (loadable modules) :
http://www.daemonnews.org/200010/blueprints.html

Good Luck
Riaan





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bqjvvl$f0n$1>