summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2018-04-03 10:26:52 -0400
committerChristoph Hellwig <hch@lst.de>2018-05-09 00:57:04 -0400
commit4965a68780c5ccad4082434e264953fba0f9bcf6 (patch)
treeac41ea46126ea2c1852e66d89c0f2e7fb2c4dcb2
parentd4a451d5fc849f9a0a133255ed197b148fc323d0 (diff)
arch: define the ARCH_DMA_ADDR_T_64BIT config symbol in lib/Kconfig
Define this symbol if the architecture either uses 64-bit pointers or the PHYS_ADDR_T_64BIT is set. This covers 95% of the old arch magic. We only need an additional select for Xen on ARM (why anyway?), and we now always set ARCH_DMA_ADDR_T_64BIT on mips boards with 64-bit physical addressing instead of only doing it when highmem is set. Signed-off-by: Christoph Hellwig <hch@lst.de> Acked-by: James Hogan <jhogan@kernel.org>
-rw-r--r--arch/alpha/Kconfig3
-rw-r--r--arch/arc/Kconfig3
-rw-r--r--arch/arm/mach-axxia/Kconfig1
-rw-r--r--arch/arm/mach-bcm/Kconfig1
-rw-r--r--arch/arm/mach-exynos/Kconfig1
-rw-r--r--arch/arm/mach-highbank/Kconfig1
-rw-r--r--arch/arm/mach-rockchip/Kconfig1
-rw-r--r--arch/arm/mach-shmobile/Kconfig1
-rw-r--r--arch/arm/mach-tegra/Kconfig1
-rw-r--r--arch/arm/mm/Kconfig3
-rw-r--r--arch/arm64/Kconfig3
-rw-r--r--arch/ia64/Kconfig3
-rw-r--r--arch/mips/Kconfig3
-rw-r--r--arch/powerpc/Kconfig3
-rw-r--r--arch/riscv/Kconfig3
-rw-r--r--arch/s390/Kconfig3
-rw-r--r--arch/sparc/Kconfig4
-rw-r--r--arch/x86/Kconfig4
-rw-r--r--lib/Kconfig3
19 files changed, 3 insertions, 42 deletions
diff --git a/arch/alpha/Kconfig b/arch/alpha/Kconfig
index 1fd9645b0c67..aa7df1a36fd0 100644
--- a/arch/alpha/Kconfig
+++ b/arch/alpha/Kconfig
@@ -66,9 +66,6 @@ config ZONE_DMA
66 bool 66 bool
67 default y 67 default y
68 68
69config ARCH_DMA_ADDR_T_64BIT
70 def_bool y
71
72config GENERIC_ISA_DMA 69config GENERIC_ISA_DMA
73 bool 70 bool
74 default y 71 default y
diff --git a/arch/arc/Kconfig b/arch/arc/Kconfig
index f94c61da682a..7498aca4b887 100644
--- a/arch/arc/Kconfig
+++ b/arch/arc/Kconfig
@@ -458,9 +458,6 @@ config ARC_HAS_PAE40
458 Enable access to physical memory beyond 4G, only supported on 458 Enable access to physical memory beyond 4G, only supported on
459 ARC cores with 40 bit Physical Addressing support 459 ARC cores with 40 bit Physical Addressing support
460 460
461config ARCH_DMA_ADDR_T_64BIT
462 bool
463
464config ARC_KVADDR_SIZE 461config ARC_KVADDR_SIZE
465 int "Kernel Virtual Address Space size (MB)" 462 int "Kernel Virtual Address Space size (MB)"
466 range 0 512 463 range 0 512
diff --git a/arch/arm/mach-axxia/Kconfig b/arch/arm/mach-axxia/Kconfig
index bb2ce1c63fd9..d3eae6037913 100644
--- a/arch/arm/mach-axxia/Kconfig
+++ b/arch/arm/mach-axxia/Kconfig
@@ -2,7 +2,6 @@
2config ARCH_AXXIA 2config ARCH_AXXIA
3 bool "LSI Axxia platforms" 3 bool "LSI Axxia platforms"
4 depends on ARCH_MULTI_V7 && ARM_LPAE 4 depends on ARCH_MULTI_V7 && ARM_LPAE
5 select ARCH_DMA_ADDR_T_64BIT
6 select ARM_AMBA 5 select ARM_AMBA
7 select ARM_GIC 6 select ARM_GIC
8 select ARM_TIMER_SP804 7 select ARM_TIMER_SP804
diff --git a/arch/arm/mach-bcm/Kconfig b/arch/arm/mach-bcm/Kconfig
index c2f3b0d216a4..c46a728df44e 100644
--- a/arch/arm/mach-bcm/Kconfig
+++ b/arch/arm/mach-bcm/Kconfig
@@ -211,7 +211,6 @@ config ARCH_BRCMSTB
211 select BRCMSTB_L2_IRQ 211 select BRCMSTB_L2_IRQ
212 select BCM7120_L2_IRQ 212 select BCM7120_L2_IRQ
213 select ARCH_HAS_HOLES_MEMORYMODEL 213 select ARCH_HAS_HOLES_MEMORYMODEL
214 select ARCH_DMA_ADDR_T_64BIT if ARM_LPAE
215 select ZONE_DMA if ARM_LPAE 214 select ZONE_DMA if ARM_LPAE
216 select SOC_BRCMSTB 215 select SOC_BRCMSTB
217 select SOC_BUS 216 select SOC_BUS
diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig
index 647c319f9f5f..2ca405816846 100644
--- a/arch/arm/mach-exynos/Kconfig
+++ b/arch/arm/mach-exynos/Kconfig
@@ -112,7 +112,6 @@ config SOC_EXYNOS5440
112 bool "SAMSUNG EXYNOS5440" 112 bool "SAMSUNG EXYNOS5440"
113 default y 113 default y
114 depends on ARCH_EXYNOS5 114 depends on ARCH_EXYNOS5
115 select ARCH_DMA_ADDR_T_64BIT if ARM_LPAE
116 select HAVE_ARM_ARCH_TIMER 115 select HAVE_ARM_ARCH_TIMER
117 select AUTO_ZRELADDR 116 select AUTO_ZRELADDR
118 select PINCTRL_EXYNOS5440 117 select PINCTRL_EXYNOS5440
diff --git a/arch/arm/mach-highbank/Kconfig b/arch/arm/mach-highbank/Kconfig
index 81110ec34226..5552968f07f8 100644
--- a/arch/arm/mach-highbank/Kconfig
+++ b/arch/arm/mach-highbank/Kconfig
@@ -1,7 +1,6 @@
1config ARCH_HIGHBANK 1config ARCH_HIGHBANK
2 bool "Calxeda ECX-1000/2000 (Highbank/Midway)" 2 bool "Calxeda ECX-1000/2000 (Highbank/Midway)"
3 depends on ARCH_MULTI_V7 3 depends on ARCH_MULTI_V7
4 select ARCH_DMA_ADDR_T_64BIT if ARM_LPAE
5 select ARCH_HAS_HOLES_MEMORYMODEL 4 select ARCH_HAS_HOLES_MEMORYMODEL
6 select ARCH_SUPPORTS_BIG_ENDIAN 5 select ARCH_SUPPORTS_BIG_ENDIAN
7 select ARM_AMBA 6 select ARM_AMBA
diff --git a/arch/arm/mach-rockchip/Kconfig b/arch/arm/mach-rockchip/Kconfig
index a4065966881a..fafd3d7f9f8c 100644
--- a/arch/arm/mach-rockchip/Kconfig
+++ b/arch/arm/mach-rockchip/Kconfig
@@ -3,7 +3,6 @@ config ARCH_ROCKCHIP
3 depends on ARCH_MULTI_V7 3 depends on ARCH_MULTI_V7
4 select PINCTRL 4 select PINCTRL
5 select PINCTRL_ROCKCHIP 5 select PINCTRL_ROCKCHIP
6 select ARCH_DMA_ADDR_T_64BIT if ARM_LPAE
7 select ARCH_HAS_RESET_CONTROLLER 6 select ARCH_HAS_RESET_CONTROLLER
8 select ARM_AMBA 7 select ARM_AMBA
9 select ARM_GIC 8 select ARM_GIC
diff --git a/arch/arm/mach-shmobile/Kconfig b/arch/arm/mach-shmobile/Kconfig
index 280e7312a9e1..fe60cd09a5ca 100644
--- a/arch/arm/mach-shmobile/Kconfig
+++ b/arch/arm/mach-shmobile/Kconfig
@@ -29,7 +29,6 @@ config ARCH_RMOBILE
29menuconfig ARCH_RENESAS 29menuconfig ARCH_RENESAS
30 bool "Renesas ARM SoCs" 30 bool "Renesas ARM SoCs"
31 depends on ARCH_MULTI_V7 && MMU 31 depends on ARCH_MULTI_V7 && MMU
32 select ARCH_DMA_ADDR_T_64BIT if ARM_LPAE
33 select ARCH_SHMOBILE 32 select ARCH_SHMOBILE
34 select ARM_GIC 33 select ARM_GIC
35 select GPIOLIB 34 select GPIOLIB
diff --git a/arch/arm/mach-tegra/Kconfig b/arch/arm/mach-tegra/Kconfig
index 1e0aeb47bac6..7f3b83e0d324 100644
--- a/arch/arm/mach-tegra/Kconfig
+++ b/arch/arm/mach-tegra/Kconfig
@@ -15,6 +15,5 @@ menuconfig ARCH_TEGRA
15 select RESET_CONTROLLER 15 select RESET_CONTROLLER
16 select SOC_BUS 16 select SOC_BUS
17 select ZONE_DMA if ARM_LPAE 17 select ZONE_DMA if ARM_LPAE
18 select ARCH_DMA_ADDR_T_64BIT if ARM_LPAE
19 help 18 help
20 This enables support for NVIDIA Tegra based systems. 19 This enables support for NVIDIA Tegra based systems.
diff --git a/arch/arm/mm/Kconfig b/arch/arm/mm/Kconfig
index 2f77c6344ef1..5a016bc80e26 100644
--- a/arch/arm/mm/Kconfig
+++ b/arch/arm/mm/Kconfig
@@ -674,9 +674,6 @@ config ARM_PV_FIXUP
674 def_bool y 674 def_bool y
675 depends on ARM_LPAE && ARM_PATCH_PHYS_VIRT && ARCH_KEYSTONE 675 depends on ARM_LPAE && ARM_PATCH_PHYS_VIRT && ARCH_KEYSTONE
676 676
677config ARCH_DMA_ADDR_T_64BIT
678 bool
679
680config ARM_THUMB 677config ARM_THUMB
681 bool "Support Thumb user binaries" if !CPU_THUMBONLY && EXPERT 678 bool "Support Thumb user binaries" if !CPU_THUMBONLY && EXPERT
682 depends on CPU_THUMB_CAPABLE 679 depends on CPU_THUMB_CAPABLE
diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index e36fdf69e5e4..9edcb141bed1 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -235,9 +235,6 @@ config ZONE_DMA32
235config HAVE_GENERIC_GUP 235config HAVE_GENERIC_GUP
236 def_bool y 236 def_bool y
237 237
238config ARCH_DMA_ADDR_T_64BIT
239 def_bool y
240
241config SMP 238config SMP
242 def_bool y 239 def_bool y
243 240
diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig
index 7fd94b41b6da..940326409c60 100644
--- a/arch/ia64/Kconfig
+++ b/arch/ia64/Kconfig
@@ -79,9 +79,6 @@ config MMU
79 bool 79 bool
80 default y 80 default y
81 81
82config ARCH_DMA_ADDR_T_64BIT
83 def_bool y
84
85config SWIOTLB 82config SWIOTLB
86 bool 83 bool
87 84
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 500191999dd2..82934f27b0d5 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -1100,9 +1100,6 @@ config GPIO_TXX9
1100config FW_CFE 1100config FW_CFE
1101 bool 1101 bool
1102 1102
1103config ARCH_DMA_ADDR_T_64BIT
1104 def_bool (HIGHMEM && PHYS_ADDR_T_64BIT) || 64BIT
1105
1106config ARCH_SUPPORTS_UPROBES 1103config ARCH_SUPPORTS_UPROBES
1107 bool 1104 bool
1108 1105
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index e90671fa6338..e5da6b40d42c 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -13,9 +13,6 @@ config 64BIT
13 bool 13 bool
14 default y if PPC64 14 default y if PPC64
15 15
16config ARCH_DMA_ADDR_T_64BIT
17 def_bool PHYS_ADDR_T_64BIT
18
19config MMU 16config MMU
20 bool 17 bool
21 default y 18 default y
diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
index 1b4b722b4496..c27bac1d4f65 100644
--- a/arch/riscv/Kconfig
+++ b/arch/riscv/Kconfig
@@ -44,9 +44,6 @@ config ZONE_DMA32
44 bool 44 bool
45 default y 45 default y
46 46
47config ARCH_DMA_ADDR_T_64BIT
48 def_bool y
49
50config PAGE_OFFSET 47config PAGE_OFFSET
51 hex 48 hex
52 default 0xC0000000 if 32BIT && MAXPHYSMEM_2GB 49 default 0xC0000000 if 32BIT && MAXPHYSMEM_2GB
diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig
index 6bdac4c2a64a..6a64287ec1da 100644
--- a/arch/s390/Kconfig
+++ b/arch/s390/Kconfig
@@ -35,9 +35,6 @@ config GENERIC_BUG
35config GENERIC_BUG_RELATIVE_POINTERS 35config GENERIC_BUG_RELATIVE_POINTERS
36 def_bool y 36 def_bool y
37 37
38config ARCH_DMA_ADDR_T_64BIT
39 def_bool y
40
41config GENERIC_LOCKBREAK 38config GENERIC_LOCKBREAK
42 def_bool y if SMP && PREEMPT 39 def_bool y if SMP && PREEMPT
43 40
diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig
index 304c94b50171..435dbc033afe 100644
--- a/arch/sparc/Kconfig
+++ b/arch/sparc/Kconfig
@@ -104,10 +104,6 @@ config ARCH_ATU
104 bool 104 bool
105 default y if SPARC64 105 default y if SPARC64
106 106
107config ARCH_DMA_ADDR_T_64BIT
108 bool
109 default y if ARCH_ATU
110
111config STACKTRACE_SUPPORT 107config STACKTRACE_SUPPORT
112 bool 108 bool
113 default y if SPARC64 109 default y if SPARC64
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 79586654ea54..31aad36d7ba9 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -1479,10 +1479,6 @@ config X86_5LEVEL
1479 1479
1480 Say N if unsure. 1480 Say N if unsure.
1481 1481
1482config ARCH_DMA_ADDR_T_64BIT
1483 def_bool y
1484 depends on X86_64 || HIGHMEM64G
1485
1486config X86_DIRECT_GBPAGES 1482config X86_DIRECT_GBPAGES
1487 def_bool y 1483 def_bool y
1488 depends on X86_64 && !DEBUG_PAGEALLOC 1484 depends on X86_64 && !DEBUG_PAGEALLOC
diff --git a/lib/Kconfig b/lib/Kconfig
index ce9fa962d59b..1f12faf03819 100644
--- a/lib/Kconfig
+++ b/lib/Kconfig
@@ -435,6 +435,9 @@ config NEED_SG_DMA_LENGTH
435config NEED_DMA_MAP_STATE 435config NEED_DMA_MAP_STATE
436 bool 436 bool
437 437
438config ARCH_DMA_ADDR_T_64BIT
439 def_bool 64BIT || PHYS_ADDR_T_64BIT
440
438config IOMMU_HELPER 441config IOMMU_HELPER
439 bool 442 bool
440 443