lkml.org 
[lkml]   [2009]   [May]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: IOMMU and graphics cards

    * Joerg Roedel <joerg.roedel@amd.com> wrote:

    > On Thu, May 07, 2009 at 04:47:14PM +0900, FUJITA Tomonori wrote:
    > > On Tue, 28 Apr 2009 18:04:48 +0200
    > > Joerg Roedel <joerg.roedel@amd.com> wrote:
    > > >
    > > > Yes, it is in effect for other devices. But since its a security feature
    > > > it only makes sense if it covers all devices.
    > >
    > > For me, IOMMUs are not about security but accessing all memory space
    > > (there are still lots of devices that are not capable of 64-bit DMA)
    > > but I agree that this workaround is bad.
    >
    > Yeah true. Another major reason for having an IOMMU is to enlarge the
    > physical address range devices can access.
    >
    > > Do you meant that AMD IOMMU code use the bitmap each device to manage
    > > address space so enlarging the DMA address space wastes memory?
    >
    > Its not only the bitmap. There are also the page tables that would waste
    > memory if the aperture in the AMD IOMMU driver is enlarged to, say, 4GB.
    > Most devices don't need such a large amount of DMA address space. As I
    > found out VT-d does not have this problem because they implemented
    > another allocator which can cover all possible memory.
    > For the AMD IOMMU I currently implement a kind of a dynamically growing
    > bitmap allocator to fix this problem.
    >
    > > > But unless this problem isn't solved the
    > > > drivers won't be fixed, I guess.
    > > > I guess the DRM code in the kernel may have the same problem with IOMMU
    > > > enabled?
    > >
    > > Looks like the DRM code uses the DMA API.
    >
    > The proprietary drivers make problems so far. For the ATI one I am
    > in contact with the developers to try to fix it. But I can't do
    > anything about the other proprietary driver I am aware of :-(

    One option would be to enumerate nvidia vga device memory resources,
    print a nasty warning if they are accessed while not mapped by any
    in-kernel driver (such as Noveau) and then install a workaround for
    their resources and exclude them from IOMMU coverage.

    Ingo


    \
     
     \ /
      Last update: 2009-05-07 12:59    [W:0.045 / U:30.300 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site