Re: Is Athlons IOMMU supported?

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance

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)
  • [PATCH -mm 1/3] Documentation: convert PCI-DMA-mapping.txt to use the generic DMA API
    ... -This document describes the DMA mapping system in terms of the pci_ ... +This is a guide to device driver writers on how to use the DMA API ... -appropriate mask even if your device only supports 32-bit DMA ...
    (Linux-Kernel)
  • [GIT PULL] core/iommu for v2.6.32
    ... AMD IOMMU updates / improved hw support ... sparc: Use dma_map_ops struct ... unsigned int ppc_swiotlb_enable; ... -/* Allocate and map kernel buffer using consistent mode DMA for a device. ...
    (Linux-Kernel)