Only create DBDIR if it does not exist.
nanosleep() isn't actually NOLOCK safe yet: tsleep() still requires kernel
lock for PCATCH and ktrace(CSW) handling

ok kettenis@
regen
add some more linux compat functions for memory allocation
use linux style memory allocations in ttm
use linux style memory allocations in radeon
do a better job in wipe_info: close files and reap children.
also wipe every state variable... fixes reget update_info in fringe
cases (this should fix nigel@'s problems...)
Fix the lock order reversal problem in the code that stops traced
multi-threaded  processes when they receive a signal:

1. Make the parent of the process (the tracer) wait for all threads to be
   stopped (in wait4(2)) instead of the thread that received the signal.
   This prevents us from calling tsleep(9) recursively.

2. Assume that we already hold the kernel lock if the P_SINTR flag is set
   (just like we already assumed we were holding the scheduler lock) and
   don't try to grab it again.

This should fix the panic that many people reported when debugging
multi-threaded programs with gdb(1).

ok & lots of help from guenther@
Do not allow to unconfigure a device by setting the configuration
number 0, leaving its descriptors pointing to NULL.  There's a lot
of code in our stack that assumes that the various descriptors are
always valid and changing this would be too much work for the moment.

Fix an issue reported by Thomas Pfaff, thanks!
grr... this should be kept across derefs
radeon: Fix system hang issue when using KMS with older cards

From Adis Hamzadis
c9b986fd9f606cd00492c3c9e95926c654f4e04f in ubuntu 3.8
e49f3959a96dc279860af7e86e6dbcfda50580a5 in mainline linux
drm/radeon: fix card_posted check for newer asics

From Alex Deucher
86330a74c53a09786820c4109ad681e6a62ebd83 in ubuntu 3.8
09fb8bd1a63b0f9f15e655c4fe8d047e5d2bf67a in mainline linux
drm/radeon: don't allow audio on DCE6

From Alex Deucher
9d34ab597ff1fadbe72bbe5377e208b924d57ef1 in ubuntu 3.8
1cbcca302a318499f20a512847c5d6a510c08c35 in mainline linux
drm/radeon: do not try to uselessly update virtual memory pagetable

From Jerome Glisse
015a02ea12ac2be3e53431b763a531c54b277c71 in ubuntu 3.8
3813f5ca9ab7a00e80a17aab34f155453c66c78a in mainline linux
Make sure to close the default pipe before re-opening it when we want
to update the address and packet length, fixes a memory leak introduced
in revision 1.96.
drm/radeon: update lockup tracking when scheduling in empty ring

From Jerome Glisse
e9273f06f28535968e40f5e58b5018d652c698d2 in ubuntu 3.8
8444d5c69549aa0f0b574cc608742d4669e1cc01 in mainline linux
drm/radeon/hdmi: make sure we have an afmt block assigned

From Alex Deucher
4d178917546b339a5486645f40f32c9cbd1240f1 in ubuntu 3.8
c2b4cacfe9816c1fe378c785ce8a678cf0635ec6 in mainline linux
Missing {} around multi-statement else. Malformed IMSG_HUP messages should
not cause privileged process to exit.
wipe stuff during wipe_info, deref should keep unput correct.
MLINK extent_alloc_with_descr;