> One thing that I think
> still definitely needs to be added is DMA virtualization, though I
> haven't yet worked through the details on how to do that.

details of course matter, as there is a huge difference between
mainboard DMA (afaik mostly used for floppies) and PCI DMA (used by
everybody else).

for the latter, that's straight forward.
for your example of NE2000 (which you intend to emulate), it sets up
the DMA to point to some memory, then makes some outport command
'please send these data'. sure you must also trap the DMA commands to
the understand what memory is to be transmitted, but 'these data' are
what is loaded into the DMA registers.

for the former onboard DMA, I'm not sure there was ever some
communication among DMA users. it was just
   'set up DMA. use it. forget it.'
this should be emulatable as well.


insofar DMA virtualisation is just another device to be understood and
emulated, and not something entirely different. there is nothing
special about DMA.

Tom




_______________________________________________
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to