From owner-freebsd-current@FreeBSD.ORG Wed Jun 24 21:30:57 2009 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2AC4C1065670 for ; Wed, 24 Jun 2009 21:30:57 +0000 (UTC) (envelope-from gnn@neville-neil.com) Received: from proxy.meer.net (proxy.meer.net [64.13.141.13]) by mx1.freebsd.org (Postfix) with ESMTP id E03C68FC0A for ; Wed, 24 Jun 2009 21:30:56 +0000 (UTC) (envelope-from gnn@neville-neil.com) Received: from mail.meer.net (mail.meer.net [64.13.141.3]) by proxy.meer.net (8.14.3/8.14.3) with ESMTP id n5OLAlKH023598; Wed, 24 Jun 2009 14:10:52 -0700 (PDT) (envelope-from gnn@neville-neil.com) Received: from mail2.meer.net (mail2.meer.net [64.13.141.16]) by mail.meer.net (8.13.3/8.13.3/meer) with ESMTP id n5OL2B68072467; Wed, 24 Jun 2009 14:02:11 -0700 (PDT) (envelope-from gnn@neville-neil.com) Received: from gnnmac.hudson-trading.com (209.249.190.8.available.above.net [209.249.190.8] (may be forged)) (authenticated bits=0) by mail2.meer.net (8.14.1/8.14.3) with ESMTP id n5OL292O042307 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO); Wed, 24 Jun 2009 14:02:10 -0700 (PDT) (envelope-from gnn@neville-neil.com) Message-Id: <356FDE11-944F-4CDA-A398-70252C6010CC@neville-neil.com> From: George Neville-Neil To: Max Laier In-Reply-To: <200906200643.24654.max@love2party.net> Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v935.3) Date: Wed, 24 Jun 2009 17:02:09 -0400 References: <20090620042333.520971CC09@ptavv.es.net> <200906200643.24654.max@love2party.net> X-Mailer: Apple Mail (2.935.3) X-Spam-Score: undef - spam scanning disabled X-CanIt-Geo: ip=64.13.141.3; country=US; region=CA; city=Mountain View; latitude=37.3974; longitude=-122.0732; metrocode=807; areacode=650; http://maps.google.com/maps?q=37.3974,-122.0732&z=6 X-CanItPRO-Stream: default X-Canit-Stats-ID: Bayes signature not available X-Scanned-By: CanIt (www . roaringpenguin . com) on 64.13.141.13 Cc: freebsd-current@freebsd.org, "Sean P. Dew" Subject: Re: building device drivers for FreeBSD 7.2+ /AMD64 X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 Jun 2009 21:30:57 -0000 On Jun 20, 2009, at 00:43 , Max Laier wrote: > On Saturday 20 June 2009 06:23:33 Kevin Oberman wrote: >>> Date: Fri, 19 Jun 2009 21:04:53 -0700 >>> From: "Sean P. Dew" >>> Sender: owner-freebsd-current@freebsd.org >>> >>> Is there any tutorial/book on building device drivers for Free BSD? >> >> The canonical one is "The FreeBSD Developers' Handbook" >> (http://www.freebsd.org/doc/en_US.ISO8859-1/books/developers-handbook/i >> ndex.html) >> >> Also, see the FreeBSD Documentation pages for information on paper >> books. http://www.freebsd.org/publish.html >> >> While a bit out of date, Kirk McKusick and George Neville-Neil's "The >> Design and Implementation of the FreeBSD Operating System", ISBN >> 4-7561-4679-1 is still probably the most detailed presentation on the >> OS internals. Based on FreeBSD 5.2, it is the modern kernel and >> driver >> design, but it is still nearly 5 years old. > > You might also want to look at the driver(9) man page and those linked > from there. In addition check out jmg's 2006 BSDCan Presentation: > http://www.bsdcan.org/2006/papers/freebsd.device.driver.slides.pdf > http://www.bsdcan.org/2006/papers/freebsd.driver.pdf Also a tutorial I gave at BSDCan this year: http://www.bsdcan.org/2009/schedule/track/Tutorial/146.en.html And a video of that can be bought here: https://www.mckusick.com/courses/netorderform.html Note that this is about network device drivers using the igb (Intel Gigabit Ethernet) driver as the example. Best, George