[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: VDMA & PCI



On Aug 12,  8:36pm, Chris Malcheski wrote:
> Subject: VDMA & PCI
> Hi All,
>
> Here's one I'll be NOBODY can answer, but I'll give it a shot ...

OK, this was a good way to tempt me. :-)

> what happens to VDMA (virtual DMA) services on a bus mastering transfer?

Does VDMA refer to some specific virtual DMA services offered by some
specific OS on some specific class of platforms?  Or was it merely a
generic term for DMA done with virtual, rather than physical, addresses?

I'll assume it was the latter.  The next question is: are virtual addresses
used for DMA expected to match the virtual addresses used by the processor,
or is this a separate virtual address space created for the I/O bus?  I.e.,
is there just one page directory in the system, or is there one for
processor(s) and another for I/O?

I'll answer for both cases.

> My understanding was that the VDMA internals intercepted I/O to the DMA
> controller and converted logical addresses to physical.  On PCI bus
> mastering, there is no effective I/O to trap to the DMA controller.  I
> would imagine this would render VDMA useless in these cases.

If you were talking about the single page directory case, PC compatible
systems don't support that.  Neither do the recently introduced PA
workstations from HP that have PCI.  I can't speak for all other systems,
but I'd be surprised to find any system that did this.

If you are talking about the two page directory case, that isn't supported
on PCs but it is supported on aforementioned PA workstations.  (It won't
necessarily be supported on all PA systems.)  I believe DEC's PCI
implementations on Alpha systems have this capability as well.  There may
be others.

> Anybody have any insight?
>
> -- Chris

Monish Shah
Hewlett Packard
p
]