freebsd-skq/sys
ariff 98cd3abe8b Last (again ?!?) major commit for RELENG_7, featuring total Giant
eradication in/from userland path, countless locking fixes, etc.

- General sleep call through msleep(9) has been converted to condvar(9)
  with better consistencies.
- Heavily guard every possible "slow path" entries (open(), close(),
  few ioctl()s, sysctls), but once it entering "fast path" (io, interrupt
  started), they are free to fly on their own.
- Rearrange locking sequences, resulting better concurrency and
  serialization. Large part doesn't even need locking at all, and will be
  removed in future. Less clutter, except in few places due to lock
  ordering.
- Anonymous mixer object creation/deletion to simplify mixer handling
  beyond typical mixer ioctls.
  Submitted by:		chibis (with modifications)
- Add few mix_[get|set|..] functions to avoid calling mixer_ioctl()
  directly using cryptic arguments.
- Locking fixes to avoid possible deadlock with (still under Giant) USB.
- Better simplex/duplex device handling.
- Recover mmap() functionality for recording, which has been lost
  since 2.2.x - 3.x (the introduction of newpcm). Full-duplex mmap still
  doesn't work (due to VM/page design), but people still can mmap
  both by opening each direction separately. mmaped playback is guarantee
  to work either way.
- New sysctl: "hw.snd.compat_linux_mmap" to allow PROT_EXEC page
  mapping, due to recent changes in linux compatibility layer which
  require it. All linux applications that using sound + mmap() (mostly games)
  require this to be enabled. Disabled by default.
- Other goodies.. too many, that will increase releng7 shareholder value
  and make users of releng6 (and below) cry ;)

* This commit should be atomic. If anything goes wrong (not counting problem
  originated from elsewhere), I will not hesitate to revert everything back
  within 12 hours. This substantial changes itself not a rocket science
  and the process has begun for almost 2 years, and lots of incremental
  changes are already in place during that period of time.
* Some issues does occur in snd_emu10kx (note the 'x') due to various
  internal locking issues and it is currently being worked on by chibis.

Tested by:	chibis (Yuriy Tsibizov), joel, Alexandre Vieira,
          	many innocent souls...
2007-06-16 03:37:28 +00:00
..
amd64 Prototype (but functional) Linux-ish /dev/nvram interface to the extra 2007-06-15 22:58:14 +00:00
arm Introduce pmap_kenter_supersection(), which maps 16MB super-sections into 2007-06-11 21:29:26 +00:00
boot MFp4: add FireWire/dcons support in loader for i386/amd64. 2007-05-29 14:35:57 +00:00
bsm Change $P4$ ID strings to P4 ID strings so that they are not auto-expanded 2007-04-17 12:27:08 +00:00
cam Commit for Nate his "guidelines for submitting quirks". 2007-06-10 04:31:55 +00:00
cddl Eliminate now-unused SUSER_ALLOWJAIL arguments to priv_check_cred(); in 2007-06-12 00:12:01 +00:00
coda Revert UF_OPENING workaround for CURRENT. 2007-05-31 11:51:53 +00:00
compat Remove stale 'XXX implement' comments for syscalls which have since been 2007-06-15 21:54:26 +00:00
conf MFp4: Add tmpfs, an efficient memory file system. 2007-06-16 01:56:05 +00:00
contrib Pointer to an ICMP header was getting left behind after doing a pullup. 2007-06-09 09:28:36 +00:00
crypto Integrate the Camellia Block Cipher. For more information see RFC 4132 2007-05-09 19:37:02 +00:00
ddb Use FOREACH_PROC_IN_SYSTEM instead of using its unrolled form. 2007-01-17 15:05:52 +00:00
dev Last (again ?!?) major commit for RELENG_7, featuring total Giant 2007-06-16 03:37:28 +00:00
fs MFp4: Add tmpfs, an efficient memory file system. 2007-06-16 01:56:05 +00:00
gdb Add kdb_cpu_sync_icache(), intended to synchronize instruction 2007-06-09 21:55:17 +00:00
geom Add the MBR partitioning scheme to g_part. This does not yet 2007-06-13 04:27:36 +00:00
gnu Eliminate now-unused SUSER_ALLOWJAIL arguments to priv_check_cred(); in 2007-06-12 00:12:01 +00:00
i4b Tell the user when the setup of the interrupt handler failed and return 2007-04-01 16:52:54 +00:00
i386 Prototype (but functional) Linux-ish /dev/nvram interface to the extra 2007-06-15 22:58:14 +00:00
ia64 Enable SCTP by default for GENERIC kernels in order to give it 2007-06-14 17:14:27 +00:00
isa Prototype (but functional) Linux-ish /dev/nvram interface to the extra 2007-06-15 22:58:14 +00:00
kern - Fix an off by one error in sched_pri_range. 2007-06-15 19:33:58 +00:00
libkern Unbreak high resolution profiling a little: use dummy asms to prevent 2007-06-13 06:17:48 +00:00
modules MFp4: Add tmpfs, an efficient memory file system. 2007-06-16 01:56:05 +00:00
net - Conditionally pickup Giant around the network interface 2007-06-15 02:53:51 +00:00
net80211 Prefer __packed to __attribute__((__packed__)). 2007-06-11 19:34:53 +00:00
netatalk Reduce network stack oddness: implement .pru_sockaddr and .pru_peeraddr 2007-05-11 10:20:51 +00:00
netatm Fix use after free bug: use temporary variable to hold next entry in linked 2007-04-03 12:45:10 +00:00
netgraph Remove two more instances of the USBDEV() macro. 2007-06-13 12:36:01 +00:00
netinet - Raise max range of sctp_logging sysctl so panda does not disallow 2007-06-16 03:28:18 +00:00
netinet6 Garbage collect unused variables. 2007-06-15 22:56:12 +00:00
netipsec In case of failure we can directly return ENOBUFS because 2007-06-16 00:15:14 +00:00
netipx Include priv.h to pick up suser(9) definitions, missed in an earlier 2007-06-13 22:42:43 +00:00
netkey
netnatm s/destory/destroy/ (except for the code in contrib/). 2007-04-16 12:31:35 +00:00
netncp Commit 14/14 of sched_lock decomposition. 2007-06-05 00:00:57 +00:00
netsmb Initialize some variables that GCC4.2 thinks might possibly be used without 2007-06-15 23:49:54 +00:00
nfs
nfs4client - Move rusage from being per-process in struct pstats to per-thread in 2007-06-01 01:12:45 +00:00
nfsclient Do proper "locking" for missing vmmeters part. 2007-06-04 21:45:18 +00:00
nfsserver Include priv.h to pick up suser(9) definitions, missed in an earlier 2007-06-13 22:42:43 +00:00
opencrypto Integrate the Camellia Block Cipher. For more information see RFC 4132 2007-05-09 19:37:02 +00:00
pc98 Enable SCTP by default for GENERIC kernels in order to give it 2007-06-14 17:14:27 +00:00
pccard
pci The mac address must be written a word length at a time, it was having no effect before. 2007-06-15 21:45:41 +00:00
powerpc Enable SCTP by default for GENERIC kernels in order to give it 2007-06-14 17:14:27 +00:00
rpc Move rpc/types.h under sys/, as this is used by ZFS kernel module. 2007-04-10 22:10:16 +00:00
security In setaudit_addr(), drop the process lock in error cases. 2007-06-15 15:20:56 +00:00
sparc64 Enable SCTP by default for GENERIC kernels in order to give it 2007-06-14 17:14:27 +00:00
sun4v Enable SCTP by default for GENERIC kernels in order to give it 2007-06-14 17:14:27 +00:00
sys Simplify/optimize RB_NFIND(). 2007-06-15 16:09:47 +00:00
tools Catch up with ACPI-CA 20070320 import. 2007-03-22 18:16:43 +00:00
ufs Eliminate now-unused SUSER_ALLOWJAIL arguments to priv_check_cred(); in 2007-06-12 00:12:01 +00:00
vm Eliminate dead code: We have not performed pageouts on the kernel object 2007-06-13 06:10:10 +00:00
Makefile o Add bsm and security to a list of cscope dirs. 2007-04-14 16:29:15 +00:00