summaryrefslogtreecommitdiffstats
path: root/arch/x86_64/kernel/pci-gart.c
diff options
context:
space:
mode:
authorJon Mason2006-06-26 13:58:05 +0200
committerLinus Torvalds2006-06-26 19:48:18 +0200
commit8d4f6b93a4aaa6b56b600cd1165c971f4395e4b3 (patch)
tree23955634ded577e53c46390714a6f069b4587c86 /arch/x86_64/kernel/pci-gart.c
parent[PATCH] x86_64: Change assembly to use regular cpuid_count macro (diff)
downloadkernel-qcow2-linux-8d4f6b93a4aaa6b56b600cd1165c971f4395e4b3.tar.gz
kernel-qcow2-linux-8d4f6b93a4aaa6b56b600cd1165c971f4395e4b3.tar.xz
kernel-qcow2-linux-8d4f6b93a4aaa6b56b600cd1165c971f4395e4b3.zip
[PATCH] x86_64: Calgary IOMMU - introduce iommu_detected
swiotlb relies on the gart specific iommu_aperture variable to know if we discovered a hardware IOMMU before swiotlb initialization. Introduce iommu_detected to do the same thing, but in a HW IOMMU neutral manner, in preparation for adding the Calgary HW IOMMU. Signed-Off-By: Muli Ben-Yehuda <muli@il.ibm.com> Signed-Off-By: Jon Mason <jdmason@us.ibm.com> Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/x86_64/kernel/pci-gart.c')
-rw-r--r--arch/x86_64/kernel/pci-gart.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/x86_64/kernel/pci-gart.c b/arch/x86_64/kernel/pci-gart.c
index 82a346e6e2e4..4f67957d2b42 100644
--- a/arch/x86_64/kernel/pci-gart.c
+++ b/arch/x86_64/kernel/pci-gart.c
@@ -597,6 +597,10 @@ static int __init pci_iommu_init(void)
if (swiotlb)
return -ENODEV;
+ /* Did we detect a different HW IOMMU? */
+ if (iommu_detected && !iommu_aperture)
+ return -1;
+
if (no_iommu ||
(!force_iommu && end_pfn <= MAX_DMA32_PFN) ||
!iommu_aperture ||