On Wed, 2006-03-15 at 10:11 -0800, muzak24h wrote:
So can it be done? Is there some factiod I'm not
catching?
The only thing I can think of is this:
IRQ vectors: When the DMA stops, what to do with it in this kind of
kernel.
Since I can't go to that level in Linux I'm curious...
The Linux kernel simply does not contain the necessary infrastructure to
do DMA and handle interrupts in userspace.
Even if your scheme works for DMA you also need periodic interrupts from
the sound device to wake up the process when it needs to write or read
more data. What's to keep userspace from killing the machine by
enabling an interrupt but never ACKing it?
And what's to prevent a user from setting up the sound card to DMA some
audio samples into a critical kernel data structure?
There are people working on the kernel infrastructure needed for 100%
userspace drivers but it's not done yet.
Your best bet is to convince the vendor to enable audio support in their
kernel.
Lee