[PATCH v2 4/6] arch: move hidden arch options to arch/Kconfig

Ahmad Fatoum a.fatoum at pengutronix.de
Thu Mar 13 00:54:14 PDT 2025


We have a number of Kconfig symbols that are exclusively selected from
architecture Kconfig files, but are defined all over.

Move the definition of these symbols into arch/Kconfig, where they
are supposed to be.

Signed-off-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
---
v1 -> v2:
  - no change
---
 arch/Kconfig            | 42 +++++++++++++++++++++++++++++++++++++++++
 common/Kconfig          | 21 ---------------------
 common/Kconfig.debug_ll |  3 ---
 lib/Kconfig             | 12 ------------
 lib/Kconfig.ubsan       |  2 --
 lib/kasan/Kconfig       |  3 ---
 6 files changed, 42 insertions(+), 41 deletions(-)

diff --git a/arch/Kconfig b/arch/Kconfig
index 21175b90a076..b1200184678f 100644
--- a/arch/Kconfig
+++ b/arch/Kconfig
@@ -62,5 +62,47 @@ config ARCH_DMA_DEFAULT_COHERENT
 config ARCH_HAS_ASAN_FIBER_API
 	bool
 
+config ARCH_HAS_STACK_DUMP
+	bool
+
+config ARCH_HAS_DATA_ABORT_MASK
+	bool
+
+config ARCH_HAS_ZERO_PAGE
+	bool
+
+config HAVE_EFFICIENT_UNALIGNED_ACCESS
+	bool
+
 config HAVE_ARCH_BOARD_GENERIC_DT
 	bool
+
+config HAVE_MOD_ARCH_SPECIFIC
+	bool
+	help
+	  The arch uses struct mod_arch_specific to store data.  Many arches
+	  just need a simple module loader without arch specific data - those
+	  should not enable this.
+
+config ARCH_HAS_SJLJ
+	bool
+	help
+	  Architecture has support implemented for setjmp()/longjmp()/initjmp()
+
+config ARCH_DMA_ADDR_T_64BIT
+	bool
+
+config ARCH_USE_SYM_ANNOTATIONS
+	bool
+	help
+	  This is selected by architectures that exclusively use the new SYM_
+	  macros in their assembly code and not the deprecated ENTRY/PROC.
+
+config HAS_DEBUG_LL
+	bool
+
+config HAVE_ARCH_KASAN
+	bool
+
+config ARCH_HAS_UBSAN_SANITIZE_ALL
+	bool
diff --git a/common/Kconfig b/common/Kconfig
index 6e5fba33ea4a..de66f0461cf1 100644
--- a/common/Kconfig
+++ b/common/Kconfig
@@ -35,11 +35,6 @@ config HAS_DMA
 	  Drivers that depend on a DMA implementation can depend on this
 	  config, so that you don't get a compilation error.
 
-config ARCH_HAS_SJLJ
-	bool
-	help
-	  Architecture has support implemented for setjmp()/longjmp()/initjmp()
-
 config GENERIC_GPIO
 	bool
 
@@ -84,9 +79,6 @@ config MENUTREE
 	select GLOB
 	select GLOB_SORT
 
-config ARCH_DMA_ADDR_T_64BIT
-	bool
-
 config BAREBOX_UPDATE_IMX_NAND_FCB
 	bool
 	depends on ARCH_IMX7 || ARCH_IMX6 || ARCH_IMX28
@@ -359,13 +351,6 @@ config MODULES
 	  As modules can't be signed, loading external modules is not
 	  recommended for secure systems.
 
-config HAVE_MOD_ARCH_SPECIFIC
-	bool
-	help
-	  The arch uses struct mod_arch_specific to store data.  Many arches
-	  just need a simple module loader without arch specific data - those
-	  should not enable this.
-
 config KALLSYMS
 	depends on HAS_KALLSYMS
 	bool "kallsyms"
@@ -1359,9 +1344,3 @@ source "common/boards/Kconfig"
 config DDR_SPD
 	bool
 	select CRC_ITU_T
-
-config ARCH_USE_SYM_ANNOTATIONS
-	bool
-	help
-	  This is selected by architectures that exclusively use the new SYM_
-	  macros in their assembly code and not the deprecated ENTRY/PROC.
diff --git a/common/Kconfig.debug_ll b/common/Kconfig.debug_ll
index 1f9255b1a45b..8c49f5b72882 100644
--- a/common/Kconfig.debug_ll
+++ b/common/Kconfig.debug_ll
@@ -1,8 +1,5 @@
 # SPDX-License-Identifier: GPL-2.0-only
 
-config HAS_DEBUG_LL
-	bool
-
 config DEBUG_LL
 	bool
 	depends on HAS_DEBUG_LL
diff --git a/lib/Kconfig b/lib/Kconfig
index 40c7b2cb5d65..8e1d8086fbb6 100644
--- a/lib/Kconfig
+++ b/lib/Kconfig
@@ -213,18 +213,6 @@ config BLOBGEN
 	select BASE64
 	bool "include blob encode/decode support"
 
-config ARCH_HAS_STACK_DUMP
-	bool
-
-config ARCH_HAS_DATA_ABORT_MASK
-	bool
-
-config ARCH_HAS_ZERO_PAGE
-	bool
-
-config HAVE_EFFICIENT_UNALIGNED_ACCESS
-	bool
-
 config GENERIC_ALLOCATOR
 	bool
 	help
diff --git a/lib/Kconfig.ubsan b/lib/Kconfig.ubsan
index c04ff3cbb6fd..063563536be1 100644
--- a/lib/Kconfig.ubsan
+++ b/lib/Kconfig.ubsan
@@ -1,6 +1,4 @@
 # SPDX-License-Identifier: GPL-2.0-only
-config ARCH_HAS_UBSAN_SANITIZE_ALL
-	bool
 
 config UBSAN
 	bool "Undefined behaviour sanity checker"
diff --git a/lib/kasan/Kconfig b/lib/kasan/Kconfig
index 895a62d88439..532412953ba5 100644
--- a/lib/kasan/Kconfig
+++ b/lib/kasan/Kconfig
@@ -1,8 +1,5 @@
 # SPDX-License-Identifier: GPL-2.0-only
 
-config HAVE_ARCH_KASAN
-	bool
-
 config CC_HAS_KASAN_GENERIC
 	def_bool $(cc-option, -fsanitize=kernel-address)
 
-- 
2.39.5




More information about the barebox mailing list