cvs commit: src/sys/emulation Makefile src/sys/emulation/ndis Makefile cfg_var.h hal_var.h kern_ndis.c ndis_var.h ntoskrnl_var.h pe_var.h regcall.h resource_var.h subr_hal.c subr_ndis.c subr_ntoskrnl.c subr_pe.c src/sys/dev/netif/ndis Makefile ...

Matthew Dillon dillon at crater.dragonflybsd.org
Thu Jul 29 13:53:39 PDT 2004


dillon      2004/07/29 13:51:36 PDT

DragonFly src repository

  Modified files:
    sys/emulation        Makefile 
  Added files:
    sys/emulation/ndis   Makefile cfg_var.h hal_var.h kern_ndis.c 
                         ndis_var.h ntoskrnl_var.h pe_var.h 
                         regcall.h resource_var.h subr_hal.c 
                         subr_ndis.c subr_ntoskrnl.c subr_pe.c 
    sys/dev/netif/ndis   Makefile if_ndis.c if_ndis_pccard.c 
                         if_ndis_pci.c if_ndisvar.h 
  Log:
  Bring in NDIS emulation support from FreeBSD-5.  NDIS is a Windows device
  driver API emulator.  The FreeBSD work was done by Bill Paul
  <wpaul at xxxxxxxxxxxxx>, who has again proven himself to be a more insane
  hacker then the rest of us.
  
  Bring in IF_NDIS from FreeBSD-5.
  
  Make a number of additional changes to the driver.  Windows API calls are not
  compatible with standard gnu C.   The FreeBSD-5 NDIS code properly uses
  __attribute__((__stdcall__)) to deal with the target-pops-argument-stack
  issue but had terrible __asm hacks to deal with regargs.  Consolidate the
  regargs support into a new header file, regcall.h, and use
  __attribute__((__regparm__(3))) to formalize argument passing in registers.
  Note that __regparm__(3) places three arguments in registers in the
  following order: %eax, %edx, %ecx, but Windoz reg calls place registered
  arguments in %ecx and %edx (and additional arguments go on the stack).
  regcall.h provides macros to do the proper (I hope) translations.
  
  DragonFly's kernel threads do not have proc structures.  Convert up all the
  proc references to thread references.
  
  Convert mutex ops into token ops.
  
  Fix a number of prototypes, including one that was causing an internal
  compiler error in gcc2.
  
  Testing: Doesn't crash with Sony-TR3A Intel Centrino 2200 based wireless
  	chipset, is able to DHCP up the IP address, but cannot yet ping due
  	to an issue in the ARP code somewhere.
  Taken from: FreeBSD-5 / Bill Paul
  
  Revision  Changes    Path
  1.2       +1 -1      src/sys/emulation/Makefile


http://www.dragonflybsd.org/cvsweb/src/sys/emulation/Makefile.diff?r1=1.1&r2=1.2&f=u





More information about the Commits mailing list