Project Evil: The Evil Continues

Bill Paul wpaul at FreeBSD.ORG
Sat Jan 24 20:51:17 PST 2004

> What in the world is Project Evil?

Project Evil (aka the NDISulator) is a special binary compatibility
layer for the FreeBSD kernel that lets you use Windows NDIS drivers
for network adapters with FreeBSD/ia32.

What does Project Evil do:

- Provides a small Windows PE file relocator/dynamic linker
  to allow Windows .sys files to be interfaced with the native
- Provides a utility to parse Windows .inf files to extract
  device identification data and registry keys.
- Emulates large chunks of NDIS.SYS, HAL.dll and ntoskrnl.exe
  with native FreeBSD kernel routines.
- Interfaces the NDIS packet/buffer model with the BSD ifnet/mbuf
  model, making an NDIS driver look like an ifnet interface to
  the FreeBSD kernel.
- Supports PCI and cardbus devices (and PCMCIA too, eventually).

What doesn't Project Evil do:

- Provide support for USB network devices (this would require
  emulating portions of USBD.SYS and portitions of the Windows
  I/O model outside of the NDIS API).
- Support Winows modem drivers (this would mean duplicating
  big parts of ntoskrnl.exe).


-Bill Paul            (510) 749-2329 | Senior Engineer, Master of Unix-Fu
                 wpaul at | Wind River Systems
              <adamw> you're just BEGGING to face the moose

More information about the freebsd-current mailing list