freebsd-dev/sys/compat/ndis
Bill Paul 137bcec3f9 Modify if_ndis.c so that the MiniportISR function runs in ndis_intr()
and MiniportHandleInterrupt() is fired off later via a task queue in
ndis_intrtask(). This more accurately follows the NDIS interrupt handling
model, where the ISR does a minimal amount of work in interrupt context
and the handler is defered and run at a lower priority.

Create a separate ndis_intrmtx mutex just for the guarding the ISR.

Modify NdisSynchronizeWithInterrupt() to aquire the ndis_intrmtx
mutex before invoking the synchronized procedure. (The purpose of
this function is to provide mutual exclusion for code that shares
variables with the ISR.)

Modify NdisMRegisterInterrupt() to save a pointer to the miniport
block in the ndis_miniport_interrupt structure so that
NdisSynchronizeWithInterrupt() can grab it later and derive
ndis_intrmtx from it.
2004-01-04 21:22:25 +00:00
..
cfg_var.h Deal with the duplicate sysctl leaf problem. A .inf file may contain 2003-12-18 03:51:21 +00:00
hal_var.h
kern_ndis.c Modify if_ndis.c so that the MiniportISR function runs in ndis_intr() 2004-01-04 21:22:25 +00:00
ndis_var.h Implement NdisScheduleWorkItem() and RtlCompareMemory(). 2004-01-04 07:47:33 +00:00
ntoskrnl_var.h Re-do the handling of ndis_buffers. The NDIS_BUFFER structure is 2003-12-23 04:08:22 +00:00
pe_var.h
resource_var.h
subr_hal.c subr_hal.c: implement WRITE_PORT_BUFFER_xxx() and READ_PORT_BUFFER_xxx() 2004-01-03 09:20:48 +00:00
subr_ndis.c Modify if_ndis.c so that the MiniportISR function runs in ndis_intr() 2004-01-04 21:22:25 +00:00
subr_ntoskrnl.c Implement NdisScheduleWorkItem() and RtlCompareMemory(). 2004-01-04 07:47:33 +00:00
subr_pe.c Back out the last batch of changes until I have a chance to properly 2003-12-26 03:31:34 +00:00