kconfig: move CONFIG_USE_PRIVATE_LIBGCC to Kconfig
The private libgcc is supported only on ARM, MIPS, PowerPC, SH, x86.
Those architectures should "select" HAVE_PRIVATE_LIBGCC and
CONFIG_USE_PRIVATE_LIBGCC should depend on it.
Currently, this option is enabled on Tegra boards and x86 architecture.
Move the definition from header files to Kconfig.
Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Tested-by: Simon Glass <sjg@chromium.org>
Acked-by: Simon Glass <sjg@chromium.org>
Cc: Stephen Warren <swarren@nvidia.com>
Cc: Tom Warren <twarren@nvidia.com>
diff --git a/arch/Kconfig b/arch/Kconfig
index bf26764..f63cc5a 100644
--- a/arch/Kconfig
+++ b/arch/Kconfig
@@ -7,6 +7,7 @@
config ARM
bool "ARM architecture"
+ select HAVE_PRIVATE_LIBGCC
select SUPPORT_OF_CONTROL
config AVR32
@@ -24,6 +25,7 @@
config MIPS
bool "MIPS architecture"
+ select HAVE_PRIVATE_LIBGCC
config NDS32
bool "NDS32 architecture"
@@ -36,6 +38,7 @@
config PPC
bool "PowerPC architecture"
+ select HAVE_PRIVATE_LIBGCC
config SANDBOX
bool "Sandbox"
@@ -43,12 +46,14 @@
config SH
bool "SuperH architecture"
+ select HAVE_PRIVATE_LIBGCC
config SPARC
bool "SPARC architecture"
config X86
bool "x86 architecture"
+ select HAVE_PRIVATE_LIBGCC
select SUPPORT_OF_CONTROL
endchoice
diff --git a/arch/arm/cpu/armv7/tegra-common/Kconfig b/arch/arm/cpu/armv7/tegra-common/Kconfig
index bcae2d6..3ea6d76 100644
--- a/arch/arm/cpu/armv7/tegra-common/Kconfig
+++ b/arch/arm/cpu/armv7/tegra-common/Kconfig
@@ -17,6 +17,9 @@
endchoice
+config USE_PRIVATE_LIBGCC
+ default y if SPL_BUILD
+
config SYS_CPU
default "arm720t" if SPL_BUILD
default "armv7" if !SPL_BUILD
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index ff9935a..0dba8ac 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -4,6 +4,9 @@
config SYS_ARCH
default "x86"
+config USE_PRIVATE_LIBGCC
+ default y
+
choice
prompt "Target select"
diff --git a/arch/x86/include/asm/config.h b/arch/x86/include/asm/config.h
index fedcaea..ff15828 100644
--- a/arch/x86/include/asm/config.h
+++ b/arch/x86/include/asm/config.h
@@ -11,6 +11,4 @@
#define CONFIG_LMB
#define CONFIG_SYS_BOOT_RAMDISK_HIGH
-#define CONFIG_USE_PRIVATE_LIBGCC
-
#endif
diff --git a/include/configs/tegra-common.h b/include/configs/tegra-common.h
index 4719ee1..981a8d2 100644
--- a/include/configs/tegra-common.h
+++ b/include/configs/tegra-common.h
@@ -154,10 +154,6 @@
#define CONFIG_SPL_SERIAL_SUPPORT
#define CONFIG_SPL_GPIO_SUPPORT
-#ifdef CONFIG_SPL_BUILD
-# define CONFIG_USE_PRIVATE_LIBGCC
-#endif
-
#define CONFIG_SYS_GENERIC_BOARD
/* Misc utility code */
diff --git a/lib/Kconfig b/lib/Kconfig
index a889c22..8460439 100644
--- a/lib/Kconfig
+++ b/lib/Kconfig
@@ -8,6 +8,17 @@
If unsure, say N.
+config HAVE_PRIVATE_LIBGCC
+ bool
+
+config USE_PRIVATE_LIBGCC
+ bool "Use private libgcc"
+ depends on HAVE_PRIVATE_LIBGCC
+ help
+ This option allows you to use the built-in libgcc implementation
+ of U-boot instead of the one privided by the compiler.
+ If unsure, say N.
+
config SYS_HZ
int
default 1000