port ad-audiomp2 branch changes to 5.99.56
todo:
 - port ad-audiomp2 pcppi changes
 - these drivers need to be fixed:
   - emuxki
   - gcscaudio
   - hdafg
   - uaudio
   - umidi
   - MD audio drivers
adapt to audiomp api changes
adapt to audiomp api changes
add gcscaudio_get_locks()
adapt to audiomp api changes
make this compile again.  i think it is even right.
XXX: don't KASSERT() if sc->lock is NULL, this is going to happen
XXX: during autoconfig match() where we've faked up a sc anyway.
make sure to return from the end of essattach() before destroying
the callouts and mutexes.  with an uncommited audio.c change, i can
now play audio on my shark with the branch.
don't need to forward declare 'struct malloc_type' anymore.
make audiocs(4) compile.  i don't have anything handy to actually test
this easily, but this was just updating the alloc/free to kmem and
hooking into ad1848_get_locks().
port this to audiomp branch.  no allocm/freem here, no detach, so just
add/initialise sc_lock and sc_intr_lock, and add get_locks() support.

XXX: untested, but amiga kernels compile now.
port to audiomp:  update allocm/freem, and add get_locks() support.
bots on my ss20, but i haven't really tested it yet.
port the am7930 drivers to audiomp.  sparc and pmax GENERIC builds,
but i am unable to test these drivers.
change the locking protocol for audio_get_props().  make it always
assert that the thread lock is held before entry, and arrange to
make this always so.
need to hold intr_lock while calling audio_pint/audio_rint
need to hold intr_lock when calling audio_pint/audio_rint
list of audio and midi drivers and their statuses
complete the port to audiomp:  don't forget to take sc_intr_lock in the
hardware interrupt routines.
IPL_SCHED is enough.
use the sc_intr_lock when calling the rint/tint functions.