2004-03-11 12:14:12

by Zoltan Boszormenyi

[permalink] [raw]
Subject: x86_64 IOMMU question

Hi,

is it possible to use the IOMMU to help 32 bit devices
that limit their capabilities with pci_set_dma_mask()?
E.g. the emu10k1 limits itself under 256MB. Can the IOMMU
pass the data to/from the card from/to above 256MB?

--
Best regards,
Zolt?n B?sz?rm?nyi

---------------------
What did Hussein say about his knife?
One in Bush worth two in the hand.


2004-03-11 13:07:49

by Andi Kleen

[permalink] [raw]
Subject: Re: x86_64 IOMMU question

Boszormenyi Zoltan <[email protected]> writes:

> is it possible to use the IOMMU to help 32 bit devices
> that limit their capabilities with pci_set_dma_mask()?
> E.g. the emu10k1 limits itself under 256MB. Can the IOMMU
> pass the data to/from the card from/to above 256MB?

It can only remap to the AGP aperture, which is usually
just below the 4GB boundary. In theory you could move the aperture
to a very low address and remap to that (see
arch/x86_64/kernel/aperture.c), but that would waste memory.

-Andi