Skip to content

Commit 90dc392

Browse files
Christoph HellwigKAGA-KOKO
authored andcommitted
x86: Remove the calgary IOMMU driver
The calgary IOMMU was only used on high-end IBM systems in the early x86_64 age and has no known users left. Remove it to avoid having to touch it for pending changes to the DMA API. Signed-off-by: Christoph Hellwig <[email protected]> Signed-off-by: Thomas Gleixner <[email protected]> Link: https://lkml.kernel.org/r/[email protected]
1 parent 44eb5a7 commit 90dc392

File tree

10 files changed

+0
-1917
lines changed

10 files changed

+0
-1917
lines changed

MAINTAINERS

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3629,16 +3629,6 @@ L: [email protected] (moderated for non-subscribers)
36293629
S: Maintained
36303630
F: net/sched/sch_cake.c
36313631

3632-
CALGARY x86-64 IOMMU
3633-
M: Muli Ben-Yehuda <[email protected]>
3634-
M: Jon Mason <[email protected]>
3635-
3636-
S: Maintained
3637-
F: arch/x86/kernel/pci-calgary_64.c
3638-
F: arch/x86/kernel/tce_64.c
3639-
F: arch/x86/include/asm/calgary.h
3640-
F: arch/x86/include/asm/tce.h
3641-
36423632
CAN NETWORK DRIVERS
36433633
M: Wolfgang Grandegger <[email protected]>
36443634
M: Marc Kleine-Budde <[email protected]>

arch/x86/Kconfig

Lines changed: 0 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -932,36 +932,6 @@ config GART_IOMMU
932932

933933
If unsure, say Y.
934934

935-
config CALGARY_IOMMU
936-
bool "IBM Calgary IOMMU support"
937-
select IOMMU_HELPER
938-
select SWIOTLB
939-
depends on X86_64 && PCI
940-
---help---
941-
Support for hardware IOMMUs in IBM's xSeries x366 and x460
942-
systems. Needed to run systems with more than 3GB of memory
943-
properly with 32-bit PCI devices that do not support DAC
944-
(Double Address Cycle). Calgary also supports bus level
945-
isolation, where all DMAs pass through the IOMMU. This
946-
prevents them from going anywhere except their intended
947-
destination. This catches hard-to-find kernel bugs and
948-
mis-behaving drivers and devices that do not use the DMA-API
949-
properly to set up their DMA buffers. The IOMMU can be
950-
turned off at boot time with the iommu=off parameter.
951-
Normally the kernel will make the right choice by itself.
952-
If unsure, say Y.
953-
954-
config CALGARY_IOMMU_ENABLED_BY_DEFAULT
955-
def_bool y
956-
prompt "Should Calgary be enabled by default?"
957-
depends on CALGARY_IOMMU
958-
---help---
959-
Should Calgary be enabled by default? if you choose 'y', Calgary
960-
will be used (if it exists). If you choose 'n', Calgary will not be
961-
used even if it exists. If you choose 'n' and would like to use
962-
Calgary anyway, pass 'iommu=calgary' on the kernel command line.
963-
If unsure, say Y.
964-
965935
config MAXSMP
966936
bool "Enable Maximum number of SMP Processors and NUMA Nodes"
967937
depends on X86_64 && SMP && DEBUG_KERNEL

arch/x86/configs/x86_64_defconfig

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ CONFIG_MODULES=y
2525
CONFIG_MODULE_UNLOAD=y
2626
CONFIG_MODULE_FORCE_UNLOAD=y
2727
CONFIG_SMP=y
28-
CONFIG_CALGARY_IOMMU=y
2928
CONFIG_NR_CPUS=64
3029
CONFIG_SCHED_SMT=y
3130
CONFIG_PREEMPT_VOLUNTARY=y

arch/x86/include/asm/calgary.h

Lines changed: 0 additions & 57 deletions
This file was deleted.

arch/x86/include/asm/pci_64.h

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,6 @@
44

55
#ifdef __KERNEL__
66

7-
#ifdef CONFIG_CALGARY_IOMMU
8-
static inline void *pci_iommu(struct pci_bus *bus)
9-
{
10-
struct pci_sysdata *sd = bus->sysdata;
11-
return sd->iommu;
12-
}
13-
14-
static inline void set_pci_iommu(struct pci_bus *bus, void *val)
15-
{
16-
struct pci_sysdata *sd = bus->sysdata;
17-
sd->iommu = val;
18-
}
19-
#endif /* CONFIG_CALGARY_IOMMU */
20-
217
extern int (*pci_config_read)(int seg, int bus, int dev, int fn,
228
int reg, int len, u32 *value);
239
extern int (*pci_config_write)(int seg, int bus, int dev, int fn,

arch/x86/include/asm/tce.h

Lines changed: 0 additions & 35 deletions
This file was deleted.

arch/x86/kernel/Makefile

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,6 @@ ifeq ($(CONFIG_X86_64),y)
146146
obj-$(CONFIG_AUDIT) += audit_64.o
147147

148148
obj-$(CONFIG_GART_IOMMU) += amd_gart_64.o aperture_64.o
149-
obj-$(CONFIG_CALGARY_IOMMU) += pci-calgary_64.o tce_64.o
150149

151150
obj-$(CONFIG_MMCONF_FAM10H) += mmconf-fam10h_64.o
152151
obj-y += vsmp_64.o

0 commit comments

Comments
 (0)