Sync ndis(4) and tools with FreeBSD and hook it all back into the build.
authorSascha Wildner <saw@online.de>
Wed, 7 Sep 2011 20:28:06 +0000 (22:28 +0200)
committerSascha Wildner <saw@online.de>
Wed, 7 Sep 2011 20:28:06 +0000 (22:28 +0200)
commitefba76b4e799bdf82bd255a0dd06d36c3f5a82c5
tree2c1875f88cb750ec7792cf20c5d31cbdf3723f68
parent320c681e670a8579bfd0ea85bcd1263caedfae8b
Sync ndis(4) and tools with FreeBSD and hook it all back into the build.

It supports NDIS 5.x drivers, that means Windows XP and Server 2003.
The latter is an educated guess by me. No testing has actually been
done using Windows Server 2003 drivers.

It is tested on i386 with the following PCI adapters:

* D-Link DWL-G520+ (Texas Instruments ACX111 chip), aka acx(4).

* Linksys WMP600N (Ralink RT2860 chip).

* Planex GW-DS54GR (Realtek RTL8185 chip) which was kindly donated by
  sephe.

Thanks to Max Herrgard <herrgard@gmail.com> for testing it on x86_64
with a CNet CWP-854 (Ralink RT2561T chip), aka ral(4).

Note that this port has the following caveats:

* PCI adapters need hw.ioapic_enable=0 in /boot/loader.conf but worked
  great then. Without it, the box will completely freeze after a while.
  This has been observed on both my own testing box as well as on a
  different box by Max Herrgard. The cause is yet unknown. :-(

* PC Card adapters are untested (they might just work).

* USB adapters are not yet stable at all. Panics might ensue.

Taken-from: FreeBSD
58 files changed:
Makefile_upgrade.inc
etc/mtree/BSD.root.dist
share/man/man4/Makefile
share/man/man4/man4.i386/Makefile
share/man/man4/ndis.4 [moved from share/man/man4/man4.i386/ndis.4 with 88% similarity]
share/man/man4/usb.4
share/man/man4/wlan.4
share/man/man9/ieee80211.9
sys/config/LINT
sys/config/LINT64
sys/cpu/i386/include/segments.h
sys/dev/netif/Makefile
sys/dev/netif/ndis/Makefile
sys/dev/netif/ndis/README [deleted file]
sys/dev/netif/ndis/if_ndis.c
sys/dev/netif/ndis/if_ndis_pccard.c
sys/dev/netif/ndis/if_ndis_pci.c
sys/dev/netif/ndis/if_ndis_usb.c [new file with mode: 0644]
sys/dev/netif/ndis/if_ndisvar.h
sys/emulation/Makefile
sys/emulation/ndis/Makefile
sys/emulation/ndis/cfg_var.h
sys/emulation/ndis/hal_var.h
sys/emulation/ndis/kern_ndis.c
sys/emulation/ndis/kern_windrv.c [new file with mode: 0644]
sys/emulation/ndis/ndis_var.h
sys/emulation/ndis/ntoskrnl_var.h
sys/emulation/ndis/pe_var.h
sys/emulation/ndis/regcall.h [deleted file]
sys/emulation/ndis/resource_var.h
sys/emulation/ndis/subr_hal.c
sys/emulation/ndis/subr_ndis.c
sys/emulation/ndis/subr_ntoskrnl.c
sys/emulation/ndis/subr_pe.c
sys/emulation/ndis/subr_usbd.c [new file with mode: 0644]
sys/emulation/ndis/usbd_var.h [new file with mode: 0644]
sys/emulation/ndis/winx32_wrap.S [new file with mode: 0644]
sys/emulation/ndis/winx64_wrap.S [new file with mode: 0644]
sys/platform/pc32/conf/files
sys/platform/pc32/conf/options
sys/platform/pc32/i386/machdep.c
sys/platform/pc64/conf/files
sys/platform/pc64/conf/options
usr.sbin/802_11/Makefile
usr.sbin/802_11/ndis_events/Makefile [new file with mode: 0644]
usr.sbin/802_11/ndis_events/ndis_events.8 [new file with mode: 0644]
usr.sbin/802_11/ndis_events/ndis_events.c [new file with mode: 0644]
usr.sbin/Makefile
usr.sbin/ndiscvt/Makefile
usr.sbin/ndiscvt/inf-parse.y
usr.sbin/ndiscvt/inf-token.l
usr.sbin/ndiscvt/inf.c
usr.sbin/ndiscvt/inf.h
usr.sbin/ndiscvt/ndiscvt.8
usr.sbin/ndiscvt/ndiscvt.c
usr.sbin/ndiscvt/ndisgen.8 [new file with mode: 0644]
usr.sbin/ndiscvt/ndisgen.sh [new file with mode: 0644]
usr.sbin/ndiscvt/windrv_stub.c [new file with mode: 0644]