diff options
author | Vineet Gupta <vgupta@synopsys.com> | 2013-03-30 05:37:47 -0400 |
---|---|---|
committer | Vineet Gupta <vgupta@synopsys.com> | 2013-04-09 07:57:00 -0400 |
commit | fbf8e13d31bafd1fd1135627b1eaaf70520cb8ab (patch) | |
tree | bb25980836831934977a6d72ad856292ee9bc8ce /arch/arc | |
parent | 30ecee8cdd05415e5602bd755d9210e1c5a5b64d (diff) |
ARC: [kbuild] Allow platforms to disable LLSC for !SMP as well
Currently ARC_HAS_LLSC can be influenced by platform for SMP only using
ARC_HAS_COH_LLSC. For !SMP it defaults to "y".
It turns out that some customers can't support it all, even in UP.
So we change the semantics, and use a negative dependency ARC_CANT_LLSC.
Any platform (independent of SMP or !SMP) can select it to disable LLSC.
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Diffstat (limited to 'arch/arc')
-rw-r--r-- | arch/arc/Kconfig | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/arch/arc/Kconfig b/arch/arc/Kconfig index e6f4eca09ee3..44541f14c692 100644 --- a/arch/arc/Kconfig +++ b/arch/arc/Kconfig | |||
@@ -134,9 +134,6 @@ if SMP | |||
134 | config ARC_HAS_COH_CACHES | 134 | config ARC_HAS_COH_CACHES |
135 | def_bool n | 135 | def_bool n |
136 | 136 | ||
137 | config ARC_HAS_COH_LLSC | ||
138 | def_bool n | ||
139 | |||
140 | config ARC_HAS_COH_RTSC | 137 | config ARC_HAS_COH_RTSC |
141 | def_bool n | 138 | def_bool n |
142 | 139 | ||
@@ -304,6 +301,9 @@ config ARC_FPU_SAVE_RESTORE | |||
304 | based on actual usage of FPU by a task. Thus our implemn does | 301 | based on actual usage of FPU by a task. Thus our implemn does |
305 | this for all tasks in system. | 302 | this for all tasks in system. |
306 | 303 | ||
304 | config ARC_CANT_LLSC | ||
305 | def_bool n | ||
306 | |||
307 | menuconfig ARC_CPU_REL_4_10 | 307 | menuconfig ARC_CPU_REL_4_10 |
308 | bool "Enable support for Rel 4.10 features" | 308 | bool "Enable support for Rel 4.10 features" |
309 | default n | 309 | default n |
@@ -314,9 +314,7 @@ menuconfig ARC_CPU_REL_4_10 | |||
314 | config ARC_HAS_LLSC | 314 | config ARC_HAS_LLSC |
315 | bool "Insn: LLOCK/SCOND (efficient atomic ops)" | 315 | bool "Insn: LLOCK/SCOND (efficient atomic ops)" |
316 | default y | 316 | default y |
317 | depends on ARC_CPU_770 | 317 | depends on ARC_CPU_770 && !ARC_CANT_LLSC |
318 | # if SMP, enable LLSC ONLY if ARC implementation has coherent atomics | ||
319 | depends on !SMP || ARC_HAS_COH_LLSC | ||
320 | 318 | ||
321 | config ARC_HAS_SWAPE | 319 | config ARC_HAS_SWAPE |
322 | bool "Insn: SWAPE (endian-swap)" | 320 | bool "Insn: SWAPE (endian-swap)" |