freebsd-dev/sys/compat/ndis
Bill Paul a91395a9d0 Tests with my dual Opteron system have shown that it's possible
for code to start out on one CPU when thunking into Windows
mode in ctxsw_utow(), and then be pre-empted and migrated to another
CPU before thunking back to UNIX mode in ctxsw_wtou(). This is
bad, because then we can end up looking at the wrong 'thread environment
block' when trying to come back to UNIX mode. To avoid this, we now
pin ourselves to the current CPU when thunking into Windows code.

Few other cleanups, since I'm here:

- Get rid of the ndis_isr(), ndis_enable_interrupt() and
  ndis_disable_interrupt() wrappers from kern_ndis.c and just invoke
  the miniport's methods directly in the interrupt handling routines
  in subr_ndis.c. We may as well lose the function call overhead,
  since we don't need to export these things outside of ndis.ko
  now anyway.

- Remove call to ndis_enable_interrupt() from ndis_init() in if_ndis.c.
  We don't need to do it there anyway (the miniport init routine handles
  it, if needed).

- Fix the logic in NdisWriteErrorLogEntry() a little.

- Change some NDIS_STATUS_xxx codes in subr_ntoskrnl.c into STATUS_xxx
  codes.

- Handle kthread_create() failure correctly in PsCreateSystemThread().
2005-11-02 18:01:04 +00:00
..
cfg_var.h Start each of the license/copyright comments with /*- 2005-01-05 22:34:37 +00:00
hal_var.h Create new i386 windows/bsd thunking layer, similar to the amd64 thunking 2005-04-11 02:02:35 +00:00
kern_ndis.c Tests with my dual Opteron system have shown that it's possible 2005-11-02 18:01:04 +00:00
kern_windrv.c Tests with my dual Opteron system have shown that it's possible 2005-11-02 18:01:04 +00:00
ndis_var.h Tests with my dual Opteron system have shown that it's possible 2005-11-02 18:01:04 +00:00
ntoskrnl_var.h Get rid of the timer tracking and reaping code in NdisMInitializeTimer() 2005-10-26 06:52:57 +00:00
pe_var.h Clean up and apply the fix for PR 83477. The calculation for locating 2005-10-26 18:46:27 +00:00
resource_var.h Add support for Windows/x86-64 binaries to Project Evil. 2005-02-16 05:41:18 +00:00
subr_hal.c Correct the macro definition for KeRaiseIrql(). The official API 2005-10-21 05:23:20 +00:00
subr_ndis.c Tests with my dual Opteron system have shown that it's possible 2005-11-02 18:01:04 +00:00
subr_ntoskrnl.c Tests with my dual Opteron system have shown that it's possible 2005-11-02 18:01:04 +00:00
subr_pe.c Clean up and apply the fix for PR 83477. The calculation for locating 2005-10-26 18:46:27 +00:00
subr_usbd.c This commit makes a bunch of changes, some big, some not so big. 2005-05-05 03:56:09 +00:00
usbd_var.h - Correct one aspect of the driver_object/device_object/IRP framework: 2005-02-24 21:49:14 +00:00
winx32_wrap.S Tests with my dual Opteron system have shown that it's possible 2005-11-02 18:01:04 +00:00
winx64_wrap.S When setting up the new stack for a function in x86_64_wrap(), make 2005-04-16 04:47:15 +00:00