From owner-freebsd-current@FreeBSD.ORG Wed Apr 20 02:51:48 2005 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5464416A4CE; Wed, 20 Apr 2005 02:51:48 +0000 (GMT) Received: from cain.gsoft.com.au (cain.gsoft.com.au [203.31.81.10]) by mx1.FreeBSD.org (Postfix) with ESMTP id 19C6543D3F; Wed, 20 Apr 2005 02:51:47 +0000 (GMT) (envelope-from doconnor@gsoft.com.au) Received: from inchoate.gsoft.com.au (localhost [127.0.0.1]) (authenticated bits=0) by cain.gsoft.com.au (8.12.11/8.12.10) with ESMTP id j3K2phv0050768; Wed, 20 Apr 2005 12:21:44 +0930 (CST) (envelope-from doconnor@gsoft.com.au) From: "Daniel O'Connor" To: freebsd-current@freebsd.org Date: Wed, 20 Apr 2005 12:21:38 +0930 User-Agent: KMail/1.8 References: <20050419225640.7B92816A4CF@hub.freebsd.org> In-Reply-To: <20050419225640.7B92816A4CF@hub.freebsd.org> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="nextPart2579633.g02zoSvJJl"; protocol="application/pgp-signature"; micalg=pgp-sha1 Content-Transfer-Encoding: 7bit Message-Id: <200504201221.39355.doconnor@gsoft.com.au> X-Spam-Score: -2.5 () IN_REP_TO,PGP_SIGNATURE_2,QUOTED_EMAIL_TEXT,REFERENCES,SPAM_PHRASE_02_03,USER_AGENT X-Scanned-By: MIMEDefang 2.16 (www . roaringpenguin . com / mimedefang) cc: Bill Paul cc: current@freebsd.org Subject: Re: New driver loading scheme for Project Evil, need input X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 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, 20 Apr 2005 02:51:48 -0000 --nextPart2579633.g02zoSvJJl Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline On Wed, 20 Apr 2005 08:26, Bill Paul wrote: > The objcopy(1) trick basically produces an ELF file that has the > Windows .SYS file encapsulated with in it. Two symbols are created > to denote the start end end of the image so that it can be loaded later. > The windrv_stub.o module linked with the Windows image provides a > small FreeBSD modevent handler that hooks the driver into Project > Evil and eventually causes a bus-reprobe. This means that all you > have to do is kldload this one module into the kernel, and presto! > a new ndisX networking interface appears. What about if you want to use >1 NDIS driver? How will it avoid symbol name= =20 collisions? > The end result is that installing a Windows driver should be as simple > as: > > - run the script > - give it your foo.inf and foo.sys files when it asks you > - it spits out a foo_sys.ko module and you kldload it > - the end Sounds much nicer :) > You still end up needing the C compiler, objcopy, ndiscvt and (optionally) > iconv, but the script automates the use of all these tooks and explains > to the user what's going on while it's working. It's certainly simpler than the current state of afairs and unless the kern= el=20 NDIS grows the ability to directly read .sys & .inf files from your disk=20 (which would be very cool :) it's about a simple as it's going to get.. > - What should the script be called? wintobsd.sh sounds kind of lame. encappe win2elf pe2elf =2D-=20 Daniel O'Connor software and network engineer for Genesis Software - http://www.gsoft.com.au "The nice thing about standards is that there are so many of them to choose from." -- Andrew Tanenbaum GPG Fingerprint - 5596 B766 97C0 0E94 4347 295E E593 DC20 7B3F CE8C --nextPart2579633.g02zoSvJJl Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.6 (FreeBSD) iD8DBQBCZcO75ZPcIHs/zowRAmtUAKCqJGRLE2dZzqv4PA1xnRzX9iOZGwCeKfHP 7UXPSSZDop5mc/rd1faJmm4= =xt0l -----END PGP SIGNATURE----- --nextPart2579633.g02zoSvJJl--