diff options
author | Christoph Hellwig <hch@lst.de> | 2018-04-03 10:26:52 -0400 |
---|---|---|
committer | Christoph Hellwig <hch@lst.de> | 2018-05-09 00:57:04 -0400 |
commit | 4965a68780c5ccad4082434e264953fba0f9bcf6 (patch) | |
tree | ac41ea46126ea2c1852e66d89c0f2e7fb2c4dcb2 | |
parent | d4a451d5fc849f9a0a133255ed197b148fc323d0 (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/Kconfig | 3 | ||||
-rw-r--r-- | arch/arc/Kconfig | 3 | ||||
-rw-r--r-- | arch/arm/mach-axxia/Kconfig | 1 | ||||
-rw-r--r-- | arch/arm/mach-bcm/Kconfig | 1 | ||||
-rw-r--r-- | arch/arm/mach-exynos/Kconfig | 1 | ||||
-rw-r--r-- | arch/arm/mach-highbank/Kconfig | 1 | ||||
-rw-r--r-- | arch/arm/mach-rockchip/Kconfig | 1 | ||||
-rw-r--r-- | arch/arm/mach-shmobile/Kconfig | 1 | ||||
-rw-r--r-- | arch/arm/mach-tegra/Kconfig | 1 | ||||
-rw-r--r-- | arch/arm/mm/Kconfig | 3 | ||||
-rw-r--r-- | arch/arm64/Kconfig | 3 | ||||
-rw-r--r-- | arch/ia64/Kconfig | 3 | ||||
-rw-r--r-- | arch/mips/Kconfig | 3 | ||||
-rw-r--r-- | arch/powerpc/Kconfig | 3 | ||||
-rw-r--r-- | arch/riscv/Kconfig | 3 | ||||
-rw-r--r-- | arch/s390/Kconfig | 3 | ||||
-rw-r--r-- | arch/sparc/Kconfig | 4 | ||||
-rw-r--r-- | arch/x86/Kconfig | 4 | ||||
-rw-r--r-- | lib/Kconfig | 3 |
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 | ||
69 | config ARCH_DMA_ADDR_T_64BIT | ||
70 | def_bool y | ||
71 | |||
72 | config GENERIC_ISA_DMA | 69 | config 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 | ||
461 | config ARCH_DMA_ADDR_T_64BIT | ||
462 | bool | ||
463 | |||
464 | config ARC_KVADDR_SIZE | 461 | config 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 @@ | |||
2 | config ARCH_AXXIA | 2 | config 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 @@ | |||
1 | config ARCH_HIGHBANK | 1 | config 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 | |||
29 | menuconfig ARCH_RENESAS | 29 | menuconfig 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 | ||
677 | config ARCH_DMA_ADDR_T_64BIT | ||
678 | bool | ||
679 | |||
680 | config ARM_THUMB | 677 | config 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 | |||
235 | config HAVE_GENERIC_GUP | 235 | config HAVE_GENERIC_GUP |
236 | def_bool y | 236 | def_bool y |
237 | 237 | ||
238 | config ARCH_DMA_ADDR_T_64BIT | ||
239 | def_bool y | ||
240 | |||
241 | config SMP | 238 | config 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 | ||
82 | config ARCH_DMA_ADDR_T_64BIT | ||
83 | def_bool y | ||
84 | |||
85 | config SWIOTLB | 82 | config 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 | |||
1100 | config FW_CFE | 1100 | config FW_CFE |
1101 | bool | 1101 | bool |
1102 | 1102 | ||
1103 | config ARCH_DMA_ADDR_T_64BIT | ||
1104 | def_bool (HIGHMEM && PHYS_ADDR_T_64BIT) || 64BIT | ||
1105 | |||
1106 | config ARCH_SUPPORTS_UPROBES | 1103 | config 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 | ||
16 | config ARCH_DMA_ADDR_T_64BIT | ||
17 | def_bool PHYS_ADDR_T_64BIT | ||
18 | |||
19 | config MMU | 16 | config 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 | ||
47 | config ARCH_DMA_ADDR_T_64BIT | ||
48 | def_bool y | ||
49 | |||
50 | config PAGE_OFFSET | 47 | config 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 | |||
35 | config GENERIC_BUG_RELATIVE_POINTERS | 35 | config GENERIC_BUG_RELATIVE_POINTERS |
36 | def_bool y | 36 | def_bool y |
37 | 37 | ||
38 | config ARCH_DMA_ADDR_T_64BIT | ||
39 | def_bool y | ||
40 | |||
41 | config GENERIC_LOCKBREAK | 38 | config 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 | ||
107 | config ARCH_DMA_ADDR_T_64BIT | ||
108 | bool | ||
109 | default y if ARCH_ATU | ||
110 | |||
111 | config STACKTRACE_SUPPORT | 107 | config 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 | ||
1482 | config ARCH_DMA_ADDR_T_64BIT | ||
1483 | def_bool y | ||
1484 | depends on X86_64 || HIGHMEM64G | ||
1485 | |||
1486 | config X86_DIRECT_GBPAGES | 1482 | config 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 | |||
435 | config NEED_DMA_MAP_STATE | 435 | config NEED_DMA_MAP_STATE |
436 | bool | 436 | bool |
437 | 437 | ||
438 | config ARCH_DMA_ADDR_T_64BIT | ||
439 | def_bool 64BIT || PHYS_ADDR_T_64BIT | ||
440 | |||
438 | config IOMMU_HELPER | 441 | config IOMMU_HELPER |
439 | bool | 442 | bool |
440 | 443 | ||