diff options
Diffstat (limited to 'arch/x86_64/Kconfig')
| -rw-r--r-- | arch/x86_64/Kconfig | 51 |
1 files changed, 38 insertions, 13 deletions
diff --git a/arch/x86_64/Kconfig b/arch/x86_64/Kconfig index af44130f0d65..ccc4a7fb97a3 100644 --- a/arch/x86_64/Kconfig +++ b/arch/x86_64/Kconfig | |||
| @@ -386,24 +386,45 @@ config HPET_EMULATE_RTC | |||
| 386 | bool "Provide RTC interrupt" | 386 | bool "Provide RTC interrupt" |
| 387 | depends on HPET_TIMER && RTC=y | 387 | depends on HPET_TIMER && RTC=y |
| 388 | 388 | ||
| 389 | config GART_IOMMU | 389 | # Mark as embedded because too many people got it wrong. |
| 390 | bool "K8 GART IOMMU support" | 390 | # The code disables itself when not needed. |
| 391 | config IOMMU | ||
| 392 | bool "IOMMU support" if EMBEDDED | ||
| 391 | default y | 393 | default y |
| 392 | select SWIOTLB | 394 | select SWIOTLB |
| 393 | select AGP | 395 | select AGP |
| 394 | depends on PCI | 396 | depends on PCI |
| 395 | help | 397 | help |
| 396 | Support for hardware IOMMU in AMD's Opteron/Athlon64 Processors | 398 | Support for full DMA access of devices with 32bit memory access only |
| 397 | and for the bounce buffering software IOMMU. | 399 | on systems with more than 3GB. This is usually needed for USB, |
| 398 | Needed to run systems with more than 3GB of memory properly with | 400 | sound, many IDE/SATA chipsets and some other devices. |
| 399 | 32-bit PCI devices that do not support DAC (Double Address Cycle). | 401 | Provides a driver for the AMD Athlon64/Opteron/Turion/Sempron GART |
| 400 | The IOMMU can be turned off at runtime with the iommu=off parameter. | 402 | based IOMMU and a software bounce buffer based IOMMU used on Intel |
| 401 | Normally the kernel will take the right choice by itself. | 403 | systems and as fallback. |
| 402 | This option includes a driver for the AMD Opteron/Athlon64 IOMMU | 404 | The code is only active when needed (enough memory and limited |
| 403 | northbridge and a software emulation used on other systems without | 405 | device) unless CONFIG_IOMMU_DEBUG or iommu=force is specified |
| 404 | hardware IOMMU. If unsure, say Y. | 406 | too. |
| 405 | 407 | ||
| 406 | # need this always selected by GART_IOMMU for the VIA workaround | 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 | |||
| 427 | # need this always selected by IOMMU for the VIA workaround | ||
| 407 | config SWIOTLB | 428 | config SWIOTLB |
| 408 | bool | 429 | bool |
| 409 | 430 | ||
| @@ -501,6 +522,10 @@ config REORDER | |||
| 501 | optimal TLB usage. If you have pretty much any version of binutils, | 522 | optimal TLB usage. If you have pretty much any version of binutils, |
| 502 | this can increase your kernel build time by roughly one minute. | 523 | this can increase your kernel build time by roughly one minute. |
| 503 | 524 | ||
| 525 | config K8_NB | ||
| 526 | def_bool y | ||
| 527 | depends on AGP_AMD64 || IOMMU || (PCI && NUMA) | ||
| 528 | |||
| 504 | endmenu | 529 | endmenu |
| 505 | 530 | ||
| 506 | # | 531 | # |
