From owner-cvs-all@FreeBSD.ORG Mon Jan 5 23:09:28 2004 Return-Path: Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6FF0C16A4CE; Mon, 5 Jan 2004 23:09:28 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3409243D2F; Mon, 5 Jan 2004 23:09:27 -0800 (PST) (envelope-from wpaul@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i0679Q0B096558; Mon, 5 Jan 2004 23:09:26 -0800 (PST) (envelope-from wpaul@repoman.freebsd.org) Received: (from wpaul@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i0679Qba096557; Mon, 5 Jan 2004 23:09:26 -0800 (PST) (envelope-from wpaul) Message-Id: <200401060709.i0679Qba096557@repoman.freebsd.org> From: Bill Paul Date: Mon, 5 Jan 2004 23:09:26 -0800 (PST) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Subject: 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 X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jan 2004 07:09:28 -0000 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