aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/Kconfig
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2007-09-28 16:04:49 +0900
committerPaul Mundt <lethal@linux-sh.org>2007-09-28 16:04:49 +0900
commit836624619b98535079053920a29a7e474ac17cbc (patch)
treebeb3b4fc1b893b6a422be3645c3611b1c7adb456 /arch/sh/Kconfig
parentsh: Follow gUSA preempt changes in __switch_to(). (diff)
downloadlinux-dev-836624619b98535079053920a29a7e474ac17cbc.tar.xz
linux-dev-836624619b98535079053920a29a7e474ac17cbc.zip
sh: Conditionalize gUSA support.
This conditionalizes gUSA support. gUSA is not supported on SMP configurations, and it's not necessary there anyways due to having other atomicity options (ie, movli.l/movco.l). Anything implementing the LL/SC semantics (all SH-4A CPUs) can switch to userspace atomicity implementations without requiring gUSA. This is left default-enabled on all UP so that glibc doesn't break. Those that know what they are doing can disable this explicitly. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/Kconfig')
-rw-r--r--arch/sh/Kconfig14
1 files changed, 14 insertions, 0 deletions
diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig
index a8693edd4f43..44982c1dfa23 100644
--- a/arch/sh/Kconfig
+++ b/arch/sh/Kconfig
@@ -570,6 +570,20 @@ config NR_CPUS
source "kernel/Kconfig.preempt"
+config GUSA
+ def_bool y
+ depends on !SMP
+ help
+ This enables support for gUSA (general UserSpace Atomicity).
+ This is the default implementation for both UP and non-ll/sc
+ CPUs, and is used by the libc, amongst others.
+
+ For additional information, design information can be found
+ in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
+
+ This should only be disabled for special cases where alternate
+ atomicity implementations exist.
+
endmenu
menu "Boot options"