On Thu, 10 Jun 1999, David Hodges wrote:

Be careful with the quoting - It isn't clear who wrote what here ...
[Intermediate quotes (level '> > ') are from me ....]

> > On Tue, 8 Jun 1999, Martin [iso-8859-1] Sfke wrote:
> > > Alistair MacDonald schrieb:
> > > > That said, *I* didn't understand *exactly* what you were asking because
> > > > *you* didn't provide any details of the source and target of the transfer.
> > > Ok... the DMA is supposed to transfer 625kb/s on 16 bit DMA #5 from a
> > > satellite receiver card to memory.
> > > If it is emuated, I see that it won't transfer data from that receiver
> > > hardware.
> > > Would there be any way to get that DMA work ?
> > 
> > Only in the same way that you could get *any* DMA to work. You have to get
> > the kernel to give a user space program (eg DOSEMU) rights to manipulate
> > the DMA registers (and to prevent problems, the kernel tables that go with
> > it). 
[...]
> I don't know much about DMA but if the DMA is emulated, I would suspect
> it would not be too
> difficult to get the code that emulates it to ensure that transfers
> only occur between:
> 1. memory that belongs to DOS
> 2. devices in a list of allowed devices

The point is not that *we* can't police it, but that the *kernel* can't
police it. It cannot distinguish between *us* asking for this and *any
other* program asking for it.

IE if *we* can do it, *any* piece of software can.

*SPECIFICALLY* a piece of software can be written that can prevent
interrupts from being allocated later (eg by running before the sound
module is loaded) or can use DMA channels for it own purposes (eg by
taking copyies of "private" memory, or by overwriting this same memory.)

Alistair

Reply via email to