diff mbox

[01/24,v5] arch: add an option to specify if the arch has atomic ops

Message ID d52542fd0784b367aefb4d9d5ae0ee120d722afe.1408303753.git.yann.morin.1998@free.fr
State Accepted
Headers show

Commit Message

Yann E. MORIN Aug. 17, 2014, 7:29 p.m. UTC
The fact that atomic operations are available is not really a
specificity of the toolchain, but rather of the architecture.

So, add a new option that architectures that have atomic operations
can select. This in turn selects the current toolchain atomic option,
until all packages have been converted, at which point the old
toolchain option can be removed.

Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Anton Kolesov <Anton.Kolesov@synopsys.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 arch/Config.in                | 6 ++++++
 arch/Config.in.arc            | 2 +-
 toolchain/toolchain-common.in | 1 -
 3 files changed, 7 insertions(+), 2 deletions(-)
diff mbox

Patch

diff --git a/arch/Config.in b/arch/Config.in
index 9cd85a5..5cee0d7 100644
--- a/arch/Config.in
+++ b/arch/Config.in
@@ -250,6 +250,12 @@  config BR2_GCC_TARGET_FLOAT_ABI
 config BR2_GCC_TARGET_MODE
 	string
 
+# If the architecture has atomic operations, select this:
+config BR2_ARCH_HAS_ATOMICS
+	bool
+	default y if !BR2_arc
+	select BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
+
 # Set up target binary format
 choice
 	prompt "Target Binary Format"
diff --git a/arch/Config.in.arc b/arch/Config.in.arc
index 836cfef..8a7f290 100644
--- a/arch/Config.in.arc
+++ b/arch/Config.in.arc
@@ -1,7 +1,7 @@ 
 # Choise of atomic instructions presence
 config BR2_ARC_ATOMIC_EXT
 	bool "Atomic extension (LLOCK/SCOND instructions)"
-	select BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
+	select BR2_ARCH_HAS_ATOMICS
 
 config BR2_ARCH
 	default "arc"	if BR2_arcle
diff --git a/toolchain/toolchain-common.in b/toolchain/toolchain-common.in
index 6d43700..2fa4f61 100644
--- a/toolchain/toolchain-common.in
+++ b/toolchain/toolchain-common.in
@@ -46,7 +46,6 @@  config BR2_TOOLCHAIN_HAS_SSP
 
 config BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
 	bool
-	default y if !BR2_arc
 
 config BR2_ENABLE_LOCALE_PURGE
 	bool "Purge unwanted locales"