lkml.org 
[lkml]   [2009]   [Apr]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH] Intel IOMMU Pass Through Support
    Andrew Morton wrote:
    > On Wed, 15 Apr 2009 17:19:57 -0700
    > Fenghua Yu <fenghua.yu@intel.com> wrote:
    >
    >> The patch adds kernel parameter intel_iommu=pt to set up pass through mode in
    >> context mapping entry. This disables DMAR in linux kernel; but KVM still runs on
    >> VT-d and interrupt remapping still works.
    >>
    >> In this mode, kernel uses swiotlb for DMA API functions but other VT-d
    >> functionalities are enabled for KVM. KVM always uses multi level translation
    >> page table in VT-d. By default, pass though mode is disabled in kernel.
    >>
    >> This is useful when people don't want to enable VT-d DMAR in kernel but still
    >> want to use KVM and interrupt remapping for reasons like DMAR performance
    >> concern or debug purpose.
    >>
    >
    > The patch is now in linux-next and broke my build.
    >
    > arch/x86/built-in.o: In function `iommu_setup':
    > arch/x86/kernel/pci-dma.c:215: undefined reference to `iommu_pass_through'
    > arch/x86/built-in.o: In function `pci_swiotlb_init':
    > arch/x86/kernel/pci-swiotlb.c:74: undefined reference to `iommu_pass_through'
    >
    > Because iommu_pass_through is defined in drivers/pci/intel-iommu.c and
    >
    > # CONFIG_DMAR is not set
    >
    > I'll need to cook up some local hack to work around that.
    >

    Patch just went to linux-next mailing list (but should have also
    gone to lkml):

    http://marc.info/?l=linux-next&m=124113213400748&w=2


    >
    > Also, the patch in linux-next (but not the one which I'm replying to
    > here does:
    >
    > : --- a/arch/x86/kernel/pci-dma.c
    > : +++ b/arch/x86/kernel/pci-dma.c
    > : @@ -160,6 +160,8 @@ again:
    > : return page_address(page);
    > : }
    > :
    > : +extern int iommu_pass_through;
    > : +
    >
    > Which is wrong and unnecessary - the variable was already declared in a
    > header file.
    >
    > scripts/checkpatch.pl would have warned you about this error, but
    > apparently neither you nor the people who reviewed or merged the patch
    > bother to use it.



    \
     
     \ /
      Last update: 2009-05-01 01:39    [W:0.044 / U:149.956 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site