diff options
author | Jon Mason <jdmason@us.ibm.com> | 2006-06-26 07:58:05 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-06-26 13:48:18 -0400 |
commit | 8d4f6b93a4aaa6b56b600cd1165c971f4395e4b3 (patch) | |
tree | 23955634ded577e53c46390714a6f069b4587c86 /arch/x86_64/kernel/pci-gart.c | |
parent | 2bbc419f9d51b44f3fdeea12c5b786bdace82b8e (diff) |
[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.c | 4 |
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) | |||
597 | if (swiotlb) | 597 | if (swiotlb) |
598 | return -ENODEV; | 598 | return -ENODEV; |
599 | 599 | ||
600 | /* Did we detect a different HW IOMMU? */ | ||
601 | if (iommu_detected && !iommu_aperture) | ||
602 | return -1; | ||
603 | |||
600 | if (no_iommu || | 604 | if (no_iommu || |
601 | (!force_iommu && end_pfn <= MAX_DMA32_PFN) || | 605 | (!force_iommu && end_pfn <= MAX_DMA32_PFN) || |
602 | !iommu_aperture || | 606 | !iommu_aperture || |