Hey everybody, For last few days i came whith idea of how Device-Drivers, should handle DMA requests. If DMA channels access can be considered as a priviledge of only PLM's, or even centralized DMA driver(which is prefered), through which will all DMA requests will be handled. First, i think DD's, that receives DMA request from user for the first time, should allocate/map memory for it selt by requesting it from physmem. Then share this region of memory whith task(as far as i can think these will be device drivers) that requests DMA. There would be read-only and the writeable memory shared, every of which is decided to be given whereas task want to receive(read) data, or send(write) it. Here i can see a good decision on that only a DMA driver should allocate and share memory regions whith tasks requesting the operations. Because allowing user to supply a buffer is not far clever, cause user can die or give up its pages back to physmem, and at time of receive-operation from DMA channel memory region could be used by some other task.
This probably can apply not only to DMA operations. Some system part that provide service(s) to many tasks may can come whith this approach. At the moment i don't know much about the memory allocation/sharing in hurd-l4 and can't be more specific on this, or supply code. Comments please. _______________________________________________ L4-hurd mailing list [email protected] http://lists.gnu.org/mailman/listinfo/l4-hurd
