From owner-freebsd-drivers@FreeBSD.ORG Thu Sep 22 18:49:02 2005 Return-Path: X-Original-To: freebsd-drivers@freebsd.org Delivered-To: freebsd-drivers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id AC07216A41F for ; Thu, 22 Sep 2005 18:49:02 +0000 (GMT) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (vc4-2-0-87.dsl.netrack.net [199.45.160.85]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4A92943D46 for ; Thu, 22 Sep 2005 18:49:02 +0000 (GMT) (envelope-from imp@bsdimp.com) Received: from localhost (localhost.village.org [127.0.0.1] (may be forged)) by harmony.bsdimp.com (8.13.3/8.13.3) with ESMTP id j8MImRWP077325; Thu, 22 Sep 2005 12:48:27 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Thu, 22 Sep 2005 12:48:50 -0600 (MDT) Message-Id: <20050922.124850.48530671.imp@bsdimp.com> To: freebsd@sopwith.solgatos.com From: "M. Warner Losh" In-Reply-To: <200509221751.RAA07579@sopwith.solgatos.com> References: <200509221751.RAA07579@sopwith.solgatos.com> X-Mailer: Mew version 3.3 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-2.0 (harmony.bsdimp.com [127.0.0.1]); Thu, 22 Sep 2005 12:48:28 -0600 (MDT) Cc: freebsd-drivers@freebsd.org Subject: Re: Bolting Linux device drivers to FreeBSD kernel? X-BeenThere: freebsd-drivers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Writing device drivers for FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 22 Sep 2005 18:49:02 -0000 In message: <200509221751.RAA07579@sopwith.solgatos.com> Dieter writes: : I have found the "project evil" interface for using a wintel : device driver with a FreeBSD kernel. : : But search as I may, I cannot find any information on how to bolt : a Linux device driver to a FreeBSD kernel? Presently, no such generic interface exists to do this that I'm aware of. I've made various attempts in the past to do this. The amount of variation between ABIs of the different Linux releases makes it problematic to support binary Linux drivers on FreeBSD in a good, generic fashion. There's also some minor, but annoying, variation between different vendors of Linux's ABI, but I think those are mostly accidental (read bugs). Souce level compatibility hasn't been something that I've seen done at all. There are a few binary blobs that have been produced that have been made to run on FreeBSD. In these cases, a FreeBSD driver has been written to call into the binary blob. The ltmdm port is one example where this has been done fairly successfully. I've tried to get some binary drivers working on FreeBSD in the past, but ran into a peck of trouble trying to make them work. Mostly because the binary blob turned out to not be linux independent, and it did things that assumed a linux kernel had setup up something in a particular way which was hard to do with FreeBSD... So your milage may vary. Warner