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