diff options
Diffstat (limited to 'arch/x86_64/Kconfig')
-rw-r--r-- | arch/x86_64/Kconfig | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/arch/x86_64/Kconfig b/arch/x86_64/Kconfig index e8c52a1eec06..ccc4a7fb97a3 100644 --- a/arch/x86_64/Kconfig +++ b/arch/x86_64/Kconfig | |||
@@ -405,6 +405,25 @@ config IOMMU | |||
405 | device) unless CONFIG_IOMMU_DEBUG or iommu=force is specified | 405 | device) unless CONFIG_IOMMU_DEBUG or iommu=force is specified |
406 | too. | 406 | too. |
407 | 407 | ||
408 | config CALGARY_IOMMU | ||
409 | bool "IBM Calgary IOMMU support" | ||
410 | default y | ||
411 | select SWIOTLB | ||
412 | depends on PCI && EXPERIMENTAL | ||
413 | help | ||
414 | Support for hardware IOMMUs in IBM's xSeries x366 and x460 | ||
415 | systems. Needed to run systems with more than 3GB of memory | ||
416 | properly with 32-bit PCI devices that do not support DAC | ||
417 | (Double Address Cycle). Calgary also supports bus level | ||
418 | isolation, where all DMAs pass through the IOMMU. This | ||
419 | prevents them from going anywhere except their intended | ||
420 | destination. This catches hard-to-find kernel bugs and | ||
421 | mis-behaving drivers and devices that do not use the DMA-API | ||
422 | properly to set up their DMA buffers. The IOMMU can be | ||
423 | turned off at boot time with the iommu=off parameter. | ||
424 | Normally the kernel will make the right choice by itself. | ||
425 | If unsure, say Y. | ||
426 | |||
408 | # need this always selected by IOMMU for the VIA workaround | 427 | # need this always selected by IOMMU for the VIA workaround |
409 | config SWIOTLB | 428 | config SWIOTLB |
410 | bool | 429 | bool |