cvs commit: src/sys/compat/ndis kern_ndis.c ndis_var.h pe_var.h subr_ndis.c subr_ntoskrnl.c subr_pe.c src/sys/dev/if_ndis if_ndis.c

Bill Paul wpaul at FreeBSD.org
Mon Jan 5 23:09:28 PST 2004


wpaul       2004/01/05 23:09:26 PST

  FreeBSD src repository

  Modified files:
    sys/compat/ndis      kern_ndis.c ndis_var.h pe_var.h 
                         subr_ndis.c subr_ntoskrnl.c subr_pe.c 
    sys/dev/if_ndis      if_ndis.c 
  Log:
  - Add pe_get_message() and pe_get_messagetable() for processing
    the RT_MESSAGETABLE resources that some driver binaries have.
    This allows us to print error messages in ndis_syslog().
  
  - Correct the implementation of InterlockedIncrement() and
    InterlockedDecrement() -- they return uint32_t, not void.
  
  - Correct the declarations of the 64-bit arithmetic shift
    routines in subr_ntoskrnl.c (_allshr, allshl, etc...). These
    do not follow the _stdcall convention: instead, they appear
    to be __attribute__((regparm(3)).
  
  - Change the implementation of KeInitializeSpinLock(). There is
    no complementary KeFreeSpinLock() function, so creating a new
    mutex on each call to KeInitializeSpinLock() leaks resources
    when a driver is unloaded. For now, KeInitializeSpinLock()
    returns a handle to the ntoskrnl interlock mutex.
  
  - Use a driver's MiniportDisableInterrupt() and MiniportEnableInterrupt()
    routines if they exist. I'm not sure if I'm doing this right
    yet, but at the very least this shouldn't break any currently
    working drivers, and it makes the Intel PRO/1000 driver work.
  
  - In ndis_register_intr(), save some state that might be needed
    later, and save a pointer to the driver's interrupt structure
    in the ndis_miniport_block.
  
  - Save a pointer to the driver image for use by ndis_syslog()
    when it calls pe_get_message().
  
  Revision  Changes    Path
  1.22      +1 -0      src/sys/compat/ndis/kern_ndis.c
  1.12      +1 -0      src/sys/compat/ndis/ndis_var.h
  1.2       +101 -0    src/sys/compat/ndis/pe_var.h
  1.26      +11 -1     src/sys/compat/ndis/subr_ndis.c
  1.8       +35 -31    src/sys/compat/ndis/subr_ntoskrnl.c
  1.4       +101 -0    src/sys/compat/ndis/subr_pe.c
  1.23      +25 -6     src/sys/dev/if_ndis/if_ndis.c


More information about the cvs-all mailing list