diff options
| author | Ingo Molnar <mingo@elte.hu> | 2011-07-07 06:56:44 -0400 |
|---|---|---|
| committer | Ingo Molnar <mingo@elte.hu> | 2011-07-07 06:58:28 -0400 |
| commit | b395fb36d59e17b9335805c10fa30fc51c8a94c6 (patch) | |
| tree | b96bc8eee33753e2a1b1181c62a028d7f89643d7 | |
| parent | fe0d42203cb5616eeff68b14576a0f7e2dd56625 (diff) | |
| parent | 6b385b46ee17d7e1a68d3411b8cdb2342e0f0445 (diff) | |
Merge branch 'iommu-3.1' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu into core/iommu
| -rw-r--r-- | arch/arm/mach-msm/Kconfig | 19 | ||||
| -rw-r--r-- | arch/arm/mach-msm/Makefile | 2 | ||||
| -rw-r--r-- | arch/ia64/Kconfig | 24 | ||||
| -rw-r--r-- | arch/x86/Kconfig | 79 | ||||
| -rw-r--r-- | arch/x86/kernel/Makefile | 1 | ||||
| -rw-r--r-- | drivers/Kconfig | 2 | ||||
| -rw-r--r-- | drivers/Makefile | 1 | ||||
| -rw-r--r-- | drivers/base/Makefile | 1 | ||||
| -rw-r--r-- | drivers/iommu/Kconfig | 110 | ||||
| -rw-r--r-- | drivers/iommu/Makefile | 5 | ||||
| -rw-r--r-- | drivers/iommu/amd_iommu.c (renamed from arch/x86/kernel/amd_iommu.c) | 314 | ||||
| -rw-r--r-- | drivers/iommu/amd_iommu_init.c (renamed from arch/x86/kernel/amd_iommu_init.c) | 8 | ||||
| -rw-r--r-- | drivers/iommu/amd_iommu_proto.h (renamed from arch/x86/include/asm/amd_iommu_proto.h) | 2 | ||||
| -rw-r--r-- | drivers/iommu/amd_iommu_types.h (renamed from arch/x86/include/asm/amd_iommu_types.h) | 9 | ||||
| -rw-r--r-- | drivers/iommu/dmar.c (renamed from drivers/pci/dmar.c) | 0 | ||||
| -rw-r--r-- | drivers/iommu/intel-iommu.c (renamed from drivers/pci/intel-iommu.c) | 1 | ||||
| -rw-r--r-- | drivers/iommu/intr_remapping.c (renamed from drivers/pci/intr_remapping.c) | 1 | ||||
| -rw-r--r-- | drivers/iommu/intr_remapping.h (renamed from drivers/pci/intr_remapping.h) | 0 | ||||
| -rw-r--r-- | drivers/iommu/iommu.c (renamed from drivers/base/iommu.c) | 0 | ||||
| -rw-r--r-- | drivers/iommu/iova.c (renamed from drivers/pci/iova.c) | 0 | ||||
| -rw-r--r-- | drivers/iommu/msm_iommu.c (renamed from arch/arm/mach-msm/iommu.c) | 0 | ||||
| -rw-r--r-- | drivers/iommu/msm_iommu_dev.c (renamed from arch/arm/mach-msm/iommu_dev.c) | 0 | ||||
| -rw-r--r-- | drivers/pci/Makefile | 5 | ||||
| -rw-r--r-- | drivers/pci/pci.h | 2 | ||||
| -rw-r--r-- | include/linux/amd-iommu.h (renamed from arch/x86/include/asm/amd_iommu.h) | 0 | ||||
| -rw-r--r-- | include/linux/iommu.h | 2 | ||||
| -rw-r--r-- | include/linux/pci.h | 11 |
27 files changed, 332 insertions, 267 deletions
diff --git a/arch/arm/mach-msm/Kconfig b/arch/arm/mach-msm/Kconfig index 1516896e8d17..888e92502e15 100644 --- a/arch/arm/mach-msm/Kconfig +++ b/arch/arm/mach-msm/Kconfig | |||
| @@ -148,22 +148,6 @@ config MACH_MSM8960_RUMI3 | |||
| 148 | 148 | ||
| 149 | endmenu | 149 | endmenu |
| 150 | 150 | ||
| 151 | config MSM_IOMMU | ||
| 152 | bool "MSM IOMMU Support" | ||
| 153 | depends on ARCH_MSM8X60 || ARCH_MSM8960 | ||
| 154 | select IOMMU_API | ||
| 155 | default n | ||
| 156 | help | ||
| 157 | Support for the IOMMUs found on certain Qualcomm SOCs. | ||
| 158 | These IOMMUs allow virtualization of the address space used by most | ||
| 159 | cores within the multimedia subsystem. | ||
| 160 | |||
| 161 | If unsure, say N here. | ||
| 162 | |||
| 163 | config IOMMU_PGTABLES_L2 | ||
| 164 | def_bool y | ||
| 165 | depends on MSM_IOMMU && MMU && SMP && CPU_DCACHE_DISABLE=n | ||
| 166 | |||
| 167 | config MSM_DEBUG_UART | 151 | config MSM_DEBUG_UART |
| 168 | int | 152 | int |
| 169 | default 1 if MSM_DEBUG_UART1 | 153 | default 1 if MSM_DEBUG_UART1 |
| @@ -205,9 +189,6 @@ config MSM_GPIOMUX | |||
| 205 | config MSM_V2_TLMM | 189 | config MSM_V2_TLMM |
| 206 | bool | 190 | bool |
| 207 | 191 | ||
| 208 | config IOMMU_API | ||
| 209 | bool | ||
| 210 | |||
| 211 | config MSM_SCM | 192 | config MSM_SCM |
| 212 | bool | 193 | bool |
| 213 | endif | 194 | endif |
diff --git a/arch/arm/mach-msm/Makefile b/arch/arm/mach-msm/Makefile index 9519fd28a025..b70658c5ae00 100644 --- a/arch/arm/mach-msm/Makefile +++ b/arch/arm/mach-msm/Makefile | |||
| @@ -3,7 +3,7 @@ obj-y += clock.o | |||
| 3 | obj-$(CONFIG_DEBUG_FS) += clock-debug.o | 3 | obj-$(CONFIG_DEBUG_FS) += clock-debug.o |
| 4 | 4 | ||
| 5 | obj-$(CONFIG_MSM_VIC) += irq-vic.o | 5 | obj-$(CONFIG_MSM_VIC) += irq-vic.o |
| 6 | obj-$(CONFIG_MSM_IOMMU) += iommu.o iommu_dev.o devices-iommu.o | 6 | obj-$(CONFIG_MSM_IOMMU) += devices-iommu.o |
| 7 | 7 | ||
| 8 | obj-$(CONFIG_ARCH_MSM7X00A) += dma.o irq.o acpuclock-arm11.o | 8 | obj-$(CONFIG_ARCH_MSM7X00A) += dma.o irq.o acpuclock-arm11.o |
| 9 | obj-$(CONFIG_ARCH_MSM7X30) += dma.o | 9 | obj-$(CONFIG_ARCH_MSM7X30) += dma.o |
diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig index 38280ef4a2af..7336ba653b8f 100644 --- a/arch/ia64/Kconfig +++ b/arch/ia64/Kconfig | |||
| @@ -627,27 +627,6 @@ source "drivers/pci/hotplug/Kconfig" | |||
| 627 | 627 | ||
| 628 | source "drivers/pcmcia/Kconfig" | 628 | source "drivers/pcmcia/Kconfig" |
| 629 | 629 | ||
| 630 | config DMAR | ||
| 631 | bool "Support for DMA Remapping Devices (EXPERIMENTAL)" | ||
| 632 | depends on IA64_GENERIC && ACPI && EXPERIMENTAL | ||
| 633 | help | ||
| 634 | DMA remapping (DMAR) devices support enables independent address | ||
| 635 | translations for Direct Memory Access (DMA) from devices. | ||
| 636 | These DMA remapping devices are reported via ACPI tables | ||
| 637 | and include PCI device scope covered by these DMA | ||
| 638 | remapping devices. | ||
| 639 | |||
| 640 | config DMAR_DEFAULT_ON | ||
| 641 | def_bool y | ||
| 642 | prompt "Enable DMA Remapping Devices by default" | ||
| 643 | depends on DMAR | ||
| 644 | help | ||
| 645 | Selecting this option will enable a DMAR device at boot time if | ||
| 646 | one is found. If this option is not selected, DMAR support can | ||
| 647 | be enabled by passing intel_iommu=on to the kernel. It is | ||
| 648 | recommended you say N here while the DMAR code remains | ||
| 649 | experimental. | ||
| 650 | |||
| 651 | endmenu | 630 | endmenu |
| 652 | 631 | ||
| 653 | endif | 632 | endif |
| @@ -681,6 +660,3 @@ source "lib/Kconfig" | |||
| 681 | 660 | ||
| 682 | config IOMMU_HELPER | 661 | config IOMMU_HELPER |
| 683 | def_bool (IA64_HP_ZX1 || IA64_HP_ZX1_SWIOTLB || IA64_GENERIC || SWIOTLB) | 662 | def_bool (IA64_HP_ZX1 || IA64_HP_ZX1_SWIOTLB || IA64_GENERIC || SWIOTLB) |
| 684 | |||
| 685 | config IOMMU_API | ||
| 686 | def_bool (DMAR) | ||
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index da349723d411..a169573c64fc 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig | |||
| @@ -680,33 +680,6 @@ config CALGARY_IOMMU_ENABLED_BY_DEFAULT | |||
| 680 | Calgary anyway, pass 'iommu=calgary' on the kernel command line. | 680 | Calgary anyway, pass 'iommu=calgary' on the kernel command line. |
| 681 | If unsure, say Y. | 681 | If unsure, say Y. |
| 682 | 682 | ||
| 683 | config AMD_IOMMU | ||
| 684 | bool "AMD IOMMU support" | ||
| 685 | select SWIOTLB | ||
| 686 | select PCI_MSI | ||
| 687 | select PCI_IOV | ||
| 688 | depends on X86_64 && PCI && ACPI | ||
| 689 | ---help--- | ||
| 690 | With this option you can enable support for AMD IOMMU hardware in | ||
| 691 | your system. An IOMMU is a hardware component which provides | ||
| 692 | remapping of DMA memory accesses from devices. With an AMD IOMMU you | ||
| 693 | can isolate the the DMA memory of different devices and protect the | ||
| 694 | system from misbehaving device drivers or hardware. | ||
| 695 | |||
| 696 | You can find out if your system has an AMD IOMMU if you look into | ||
| 697 | your BIOS for an option to enable it or if you have an IVRS ACPI | ||
| 698 | table. | ||
| 699 | |||
| 700 | config AMD_IOMMU_STATS | ||
| 701 | bool "Export AMD IOMMU statistics to debugfs" | ||
| 702 | depends on AMD_IOMMU | ||
| 703 | select DEBUG_FS | ||
| 704 | ---help--- | ||
| 705 | This option enables code in the AMD IOMMU driver to collect various | ||
| 706 | statistics about whats happening in the driver and exports that | ||
| 707 | information to userspace via debugfs. | ||
| 708 | If unsure, say N. | ||
| 709 | |||
| 710 | # need this always selected by IOMMU for the VIA workaround | 683 | # need this always selected by IOMMU for the VIA workaround |
| 711 | config SWIOTLB | 684 | config SWIOTLB |
| 712 | def_bool y if X86_64 | 685 | def_bool y if X86_64 |
| @@ -720,9 +693,6 @@ config SWIOTLB | |||
| 720 | config IOMMU_HELPER | 693 | config IOMMU_HELPER |
| 721 | def_bool (CALGARY_IOMMU || GART_IOMMU || SWIOTLB || AMD_IOMMU) | 694 | def_bool (CALGARY_IOMMU || GART_IOMMU || SWIOTLB || AMD_IOMMU) |
| 722 | 695 | ||
| 723 | config IOMMU_API | ||
| 724 | def_bool (AMD_IOMMU || DMAR) | ||
| 725 | |||
| 726 | config MAXSMP | 696 | config MAXSMP |
| 727 | bool "Enable Maximum number of SMP Processors and NUMA Nodes" | 697 | bool "Enable Maximum number of SMP Processors and NUMA Nodes" |
| 728 | depends on X86_64 && SMP && DEBUG_KERNEL && EXPERIMENTAL | 698 | depends on X86_64 && SMP && DEBUG_KERNEL && EXPERIMENTAL |
| @@ -1942,55 +1912,6 @@ config PCI_CNB20LE_QUIRK | |||
| 1942 | 1912 | ||
| 1943 | You should say N unless you know you need this. | 1913 | You should say N unless you know you need this. |
| 1944 | 1914 | ||
| 1945 | config DMAR | ||
| 1946 | bool "Support for DMA Remapping Devices (EXPERIMENTAL)" | ||
| 1947 | depends on PCI_MSI && ACPI && EXPERIMENTAL | ||
| 1948 | help | ||
| 1949 | DMA remapping (DMAR) devices support enables independent address | ||
| 1950 | translations for Direct Memory Access (DMA) from devices. | ||
| 1951 | These DMA remapping devices are reported via ACPI tables | ||
| 1952 | and include PCI device scope covered by these DMA | ||
| 1953 | remapping devices. | ||
