Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 6 Feb 2004 22:44:13 -0800 (PST)
From:      Bill Paul <wpaul@FreeBSD.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/compat/ndis kern_ndis.c ndis_var.h ntoskrnl_var.h subr_hal.c subr_ndis.c subr_ntoskrnl.c
Message-ID:  <200402070644.i176iDqn083119@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
wpaul       2004/02/06 22:44:13 PST

  FreeBSD src repository

  Modified files:
    sys/compat/ndis      kern_ndis.c ndis_var.h ntoskrnl_var.h 
                         subr_hal.c subr_ndis.c subr_ntoskrnl.c 
  Log:
  Add a whole bunch of new stuff to make the driver for the AMD Am1771/Am1772
  802.11b chipset work. This chip is present on the SMC2602W version 3
  NIC, which is what was used for testing. This driver creates kernel
  threads (12 of them!) for various purposes, and required the following
  routines:
  
  PsCreateSystemThread()
  PsTerminateSystemThread()
  KeInitializeEvent()
  KeSetEvent()
  KeResetEvent()
  KeInitializeMutex()
  KeReleaseMutex()
  KeWaitForSingleObject()
  KeWaitForMultipleObjects()
  IoGetDeviceProperty()
  
  and several more. Also, this driver abuses the fact that NDIS events
  and timers are actually Windows events and timers, and uses NDIS events
  with KeWaitForSingleObject(). The NDIS event routines have been rewritten
  to interface with the ntoskrnl module. Many routines with incorrect
  prototypes have been cleaned up.
  
  Also, this driver puts jobs on the NDIS taskqueue (via NdisScheduleWorkItem())
  which block on events, and this interferes with the operation of
  NdisMAllocateSharedMemoryAsync(), which was also being put on the
  NDIS taskqueue. To avoid the deadlock, NdisMAllocateSharedMemoryAsync()
  is now performed in the NDIS SWI thread instead.
  
  There's still room for some cleanups here, and I really should implement
  KeInitializeTimer() and friends.
  
  Revision  Changes    Path
  1.36      +17 -22    src/sys/compat/ndis/kern_ndis.c
  1.20      +11 -4     src/sys/compat/ndis/ndis_var.h
  1.7       +287 -0    src/sys/compat/ndis/ntoskrnl_var.h
  1.8       +13 -1     src/sys/compat/ndis/subr_hal.c
  1.43      +158 -60   src/sys/compat/ndis/subr_ndis.c
  1.20      +726 -14   src/sys/compat/ndis/subr_ntoskrnl.c



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