Re: [PATCH] Intel IOMMU Pass Through Support
From: Andrew Morton
Date: Thu Apr 30 2009 - 19:33:21 EST
On Wed, 15 Apr 2009 17:19:57 -0700
Fenghua Yu <fenghua.yu@xxxxxxxxx> 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.
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.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/