Re: Is Athlons IOMMU supported?

From: Udo Lenz (udo_lenzdeletethis_at_compuservedeletethis.com)
Date: 02/28/05


Date: Mon, 28 Feb 2005 13:13:00 GMT

On Thu, 24 Feb 2005 23:11:28 +0300, "Maxim S. Shatskih"
<maxim@storagecraft.com> wrote:

> What is IOMMU? IIRC it is Sun-only thing. /iommu/sbus/... boot namespace of
>Sparcstations.

The IOMMU is like the standard MMU an address translation mechanism.
It translates e.g. PCI DMA addresses, though, instead of logical
addresses. Sparcs have it for some time now and more recently Apples
G5's, where it's called DART. I heard, that it is implemented in some
chipsets for the Athlon 64, but not for Intels EM64T processor based
architectures
 
> It is a driver choice on whether to allow double buffering in DMA transfers
>it is initiating. Most drivers disallow the OS to use it, and use
>scatter-gather instead (in some way - chain DMA, interrupt-driven or such).
>
> So, DMA double-buffering is not a serious issue now.

I'm using interrupt driven scatter-gather, since the PCI controller
AMCC S5935, I work with, does not support real scatter-gather.
This creates a lot of interrupts, though. Since the PCI card should
also run under 64 Bit Windows and the controller also doesn't
support 64 Bit addressing, I have to fall back to double buffering.
Both issues, lots of interrupts and double buffering, would neatly
go away with an IOMMU.

Udo Lenz



Relevant Pages

  • Re: New AMD IOMMU Spec (1.2)
    ... *with* something like the IOMMU it can ... PCI devices for the SGI Origin system were "A64"-capable was ... precisely to avoid having to touch the IOMMU *at all* during DMA ... to whichever user process the incoming packets were targeted for, ...
    (comp.arch)
  • Re: DMA APIs gumble grumble
    ... 32-bit mask should that fail. ... 32-bit SAC addressing is done more efficiently than DAC addressing. ... DAC interfaces to the PCI DMA API for when "you really really want DAC ...
    (Linux-Kernel)
  • Re: direct memory access
    ... No, 1 ISA, 5 PCI and 1 AGP. ... PCI and AGP might be shared. ... >>> If you don't see the Advanced tab, either your hardware doesn't>> support DMA or the DMA settings are incorrect in the BIOS. ... [[With some IDE drivers/Busmastering drivers, DMA cannot be>> enabled through the device manager, but only through the driver>> settings. ...
    (microsoft.public.windowsxp.help_and_support)
  • Re: A simple question about DMA, please help me.
    ... held by the DMA controller and the CPU is set idle until this transfer ... memory to fetch instructions while the DMA transfer is continuing. ... The PCI bus changed that -- it eliminated the separate lines for each ...
    (comp.lang.asm.x86)
  • [PATCH] docs: move DMA-mapping.txt to Documentation/PCI/
    ... -addresses (DMA addresses) into physical addresses. ... This is needed so that e.g. PCI devices can ... -So that Linux can use the dynamic DMA mapping, it needs some help from the ... And at least one platform (SGI ...
    (Linux-Kernel)