Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 20 Apr 2005 12:21:38 +0930
From:      "Daniel O'Connor" <doconnor@gsoft.com.au>
To:        freebsd-current@freebsd.org
Cc:        current@freebsd.org
Subject:   Re: New driver loading scheme for Project Evil, need input
Message-ID:  <200504201221.39355.doconnor@gsoft.com.au>
In-Reply-To: <20050419225640.7B92816A4CF@hub.freebsd.org>
References:  <20050419225640.7B92816A4CF@hub.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]
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 
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 kernel 
NDIS grows the ability to directly read .sys & .inf files from your disk 
(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

-- 
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

[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.6 (FreeBSD)

iD8DBQBCZcO75ZPcIHs/zowRAmtUAKCqJGRLE2dZzqv4PA1xnRzX9iOZGwCeKfHP
7UXPSSZDop5mc/rd1faJmm4=
=xt0l
-----END PGP SIGNATURE-----

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200504201221.39355.doconnor>