Skip to content

Commit df41017

Browse files
Christoph Hellwigaegl
authored andcommitted
ia64: remove support for machvecs
The only thing remaining of the machvecs is a few checks if we are running on an SGI UV system. Replace those with the existing is_uv_system() check that has been rewritten to simply check the OEM ID directly. That leaves us with a generic kernel that is as fast as the previous DIG/ZX1/UV kernels, but can support all hardware. Support for UV and the HP SBA IOMMU is now optional based on new config options. Signed-off-by: Christoph Hellwig <hch@lst.de> Link: https://lkml.kernel.org/r/20190813072514.23299-27-hch@lst.de Signed-off-by: Tony Luck <tony.luck@intel.com>
1 parent a8384e6 commit df41017

50 files changed

Lines changed: 116 additions & 488 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

arch/ia64/Kconfig

Lines changed: 21 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,13 @@ config IA64
1111
select ARCH_MIGHT_HAVE_PC_PARPORT
1212
select ARCH_MIGHT_HAVE_PC_SERIO
1313
select ACPI
14+
select ACPI_NUMA if NUMA
1415
select ARCH_SUPPORTS_ACPI
1516
select ACPI_SYSTEM_POWER_STATES_SUPPORT if ACPI
1617
select ARCH_MIGHT_HAVE_ACPI_PDC if ACPI
1718
select FORCE_PCI
1819
select PCI_DOMAINS if PCI
20+
select PCI_MSI
1921
select PCI_SYSCALL if PCI
2022
select HAVE_UNSTABLE_SCHED_CLOCK
2123
select HAVE_EXIT_THREAD
@@ -30,8 +32,8 @@ config IA64
3032
select HAVE_ARCH_TRACEHOOK
3133
select HAVE_MEMBLOCK_NODE_MAP
3234
select HAVE_VIRT_CPU_ACCOUNTING
33-
select ARCH_HAS_DMA_COHERENT_TO_PFN if SWIOTLB
34-
select ARCH_HAS_SYNC_DMA_FOR_CPU if SWIOTLB
35+
select ARCH_HAS_DMA_COHERENT_TO_PFN
36+
select ARCH_HAS_SYNC_DMA_FOR_CPU
3537
select VIRT_TO_BUS
3638
select GENERIC_IRQ_PROBE
3739
select GENERIC_PENDING_IRQ if SMP
@@ -45,13 +47,15 @@ config IA64
4547
select ARCH_THREAD_STACK_ALLOCATOR
4648
select ARCH_CLOCKSOURCE_DATA
4749
select GENERIC_TIME_VSYSCALL
50+
select SWIOTLB
4851
select SYSCTL_ARCH_UNALIGN_NO_WARN
4952
select HAVE_MOD_ARCH_SPECIFIC
5053
select MODULES_USE_ELF_RELA
5154
select ARCH_USE_CMPXCHG_LOCKREF
5255
select HAVE_ARCH_AUDITSYSCALL
5356
select NEED_DMA_MAP_STATE
5457
select NEED_SG_DMA_LENGTH
58+
select NUMA if !FLATMEM
5559
default y
5660
help
5761
The Itanium Processor Family is Intel's 64-bit successor to
@@ -119,53 +123,6 @@ config AUDIT_ARCH
119123
bool
120124
default y
121125

122-
choice
123-
prompt "System type"
124-
default IA64_GENERIC
125-
126-
config IA64_GENERIC
127-
bool "generic"
128-
select NUMA
129-
select ACPI_NUMA
130-
select SWIOTLB
131-
select PCI_MSI
132-
help
133-
This selects the system type of your hardware. A "generic" kernel
134-
will run on any supported IA-64 system. However, if you configure
135-
a kernel for your specific system, it will be faster and smaller.
136-
137-
generic For any supported IA-64 system
138-
DIG-compliant For DIG ("Developer's Interface Guide") compliant systems
139-
DIG+Intel+IOMMU For DIG systems with Intel IOMMU
140-
HP-zx1/sx1000 For HP systems
141-
SGI-UV For SGI UV systems
142-
143-
If you don't know what to do, choose "generic".
144-
145-
config IA64_DIG
146-
bool "DIG-compliant"
147-
select SWIOTLB
148-
149-
config IA64_HP_ZX1
150-
bool "HP-zx1/sx1000"
151-
help
152-
Build a kernel that runs on HP zx1 and sx1000 systems. This adds
153-
support for the HP I/O MMU.
154-
155-
config IA64_SGI_UV
156-
bool "SGI-UV"
157-
select NUMA
158-
select ACPI_NUMA
159-
select SWIOTLB
160-
help
161-
Selecting this option will optimize the kernel for use on UV based
162-
systems, but the resulting kernel binary will not run on other
163-
types of ia64 systems. If you have an SGI UV system, it's safe
164-
to select this option. If in doubt, select ia64 generic support
165-
instead.
166-
167-
endchoice
168-
169126
choice
170127
prompt "Processor type"
171128
default ITANIUM
@@ -230,6 +187,20 @@ config IA64_L1_CACHE_SHIFT
230187
default "7" if MCKINLEY
231188
default "6" if ITANIUM
232189

190+
config IA64_SGI_UV
191+
bool "SGI-UV support"
192+
help
193+
Selecting this option will add specific support for running on SGI
194+
UV based systems. If you have an SGI UV system or are building a
195+
distro kernel, select this option.
196+
197+
config IA64_HP_SBA_IOMMU
198+
bool "HP SBA IOMMU support"
199+
default y
200+
help
201+
Say Y here to add support for the SBA IOMMU found on HP zx1 and
202+
sx1000 systems. If you're unsure, answer Y.
203+
233204
config IA64_CYCLONE
234205
bool "Cyclone (EXA) Time Source support"
235206
help
@@ -334,13 +305,12 @@ config ARCH_SPARSEMEM_ENABLE
334305
select SPARSEMEM_VMEMMAP_ENABLE
335306

336307
config ARCH_DISCONTIGMEM_DEFAULT
337-
def_bool y if (IA64_GENERIC || IA64_HP_ZX1)
308+
def_bool y
338309
depends on ARCH_DISCONTIGMEM_ENABLE
339310

340311
config NUMA
341312
bool "NUMA support"
342313
depends on !FLATMEM
343-
select ACPI_NUMA if ACPI
344314
help
345315
Say Y to compile the kernel to support NUMA (Non-Uniform Memory
346316
Access). This option is for configuring high-end multiprocessor

arch/ia64/Kconfig.debug

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ config IA64_GRANULE_16MB
1414

1515
config IA64_GRANULE_64MB
1616
bool "64MB"
17-
depends on !(IA64_GENERIC || IA64_HP_ZX1)
17+
depends on BROKEN
1818

1919
endchoice
2020

arch/ia64/Makefile

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -50,14 +50,9 @@ head-y := arch/ia64/kernel/head.o
5050

5151
libs-y += arch/ia64/lib/
5252
core-y += arch/ia64/kernel/ arch/ia64/mm/
53-
core-$(CONFIG_IA64_DIG) += arch/ia64/dig/
54-
core-$(CONFIG_IA64_GENERIC) += arch/ia64/dig/
55-
core-$(CONFIG_IA64_HP_ZX1) += arch/ia64/dig/
5653
core-$(CONFIG_IA64_SGI_UV) += arch/ia64/uv/
5754

58-
drivers-y += arch/ia64/pci/
59-
drivers-$(CONFIG_IA64_HP_ZX1) += arch/ia64/hp/common/ arch/ia64/hp/zx1/
60-
drivers-$(CONFIG_IA64_GENERIC) += arch/ia64/hp/common/ arch/ia64/hp/zx1/ arch/ia64/uv/
55+
drivers-y += arch/ia64/pci/ arch/ia64/hp/common/
6156
drivers-$(CONFIG_OPROFILE) += arch/ia64/oprofile/
6257

6358
PHONY += compressed check

arch/ia64/configs/bigsur_defconfig

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ CONFIG_MODULES=y
77
CONFIG_MODULE_UNLOAD=y
88
CONFIG_PARTITION_ADVANCED=y
99
CONFIG_SGI_PARTITION=y
10-
CONFIG_IA64_DIG=y
1110
CONFIG_SMP=y
1211
CONFIG_NR_CPUS=2
1312
CONFIG_PREEMPT=y

arch/ia64/configs/tiger_defconfig

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ CONFIG_MODULE_SRCVERSION_ALL=y
1212
# CONFIG_BLK_DEV_BSG is not set
1313
CONFIG_PARTITION_ADVANCED=y
1414
CONFIG_SGI_PARTITION=y
15-
CONFIG_IA64_DIG=y
1615
CONFIG_MCKINLEY=y
1716
CONFIG_IA64_PAGE_SIZE_64KB=y
1817
CONFIG_IA64_CYCLONE=y

arch/ia64/configs/zx1_defconfig

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ CONFIG_BLK_DEV_INITRD=y
44
CONFIG_KPROBES=y
55
CONFIG_MODULES=y
66
CONFIG_PARTITION_ADVANCED=y
7-
CONFIG_IA64_HP_ZX1=y
87
CONFIG_MCKINLEY=y
98
CONFIG_SMP=y
109
CONFIG_NR_CPUS=16

arch/ia64/dig/Makefile

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

arch/ia64/dig/machvec.c

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

arch/ia64/dig/setup.c

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

arch/ia64/hp/common/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,5 @@
66
# Copyright (C) Alex Williamson (alex_williamson@hp.com)
77
#
88

9-
obj-y := sba_iommu.o
9+
obj-$(CONFIG_IA64_HP_SBA_IOMMU) += sba_iommu.o
1010
obj-$(CONFIG_IA64_HP_AML_NFW) += aml_nfw.o

0 commit comments

Comments
 (0)