freebsd-dev/sys/compat
Bill Paul eaecffb942 More cleanups/fixes for the AMD Am1771 driver:
- When adding new waiting threads to the waitlist for an object,
  use INSERT_LIST_TAIL() instead of INSERT_LIST_HEAD() so that new
  waiters go at the end of the list instead of the beginning. When we
  wake up a synchronization object, only the first waiter is awakened,
  and this needs to be the first thread that actually waited on the object.

- Correct missing semicolon in INSERT_LIST_TAIL() macro.

- Implement lookaside lists correctly. Note that the Am1771 driver
  uses lookaside lists to manage shared memory (i.e. DMAable) buffers
  by specifying its own alloc and free routines. The Microsoft documentation
  says you should avoid doing this, but apparently this did not deter
  the developers at AMD from doing it anyway.

With these changes (which are the result of two straight days of almost
non-stop debugging), I think I finally have the object/thread handling
semantics implemented correctly. The Am1771 driver no longer crashes
unexpectedly during association or bringing the interface up.
2004-02-16 02:50:03 +00:00
..
freebsd32 Regen. 2004-02-03 05:20:28 +00:00
ia32 Locking for the per-process resource limits structure. 2004-02-04 21:52:57 +00:00
linprocfs Remove VFS_STATFS() call which violated the lock order and wasn't 2004-02-09 20:33:42 +00:00
linux Locking for the per-process resource limits structure. 2004-02-04 21:52:57 +00:00
ndis More cleanups/fixes for the AMD Am1771 driver: 2004-02-16 02:50:03 +00:00
netbsd Don't include <sys/buf.h> needlessly. 2003-04-01 09:02:58 +00:00
pecoff Add sysentvec->sv_fixlimits() hook so that we can catch cases on 64 bit 2003-09-25 01:10:26 +00:00
svr4 I guess nobody has needed to use the SVR4olator to create device 2004-02-07 18:54:34 +00:00