diff options
author | Stuart Menefy <stuart.menefy@st.com> | 2007-11-30 02:12:36 -0500 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2008-01-27 23:18:58 -0500 |
commit | 1efe4ce3ca126da77e450d5a83f7201949d76f62 (patch) | |
tree | fbae9902aa4103a9e86d06f841d580f24682e7b3 /arch/sh/Kconfig | |
parent | 53ff09422e5e7a6d6198b767c8f494e43ec8e3ae (diff) |
sh: GUSA atomic rollback support.
This implements kernel-level atomic rollback built on top of gUSA,
as an alternative non-IRQ based atomicity method. This is generally
a faster method for platforms that are lacking the LL/SC pairs that
SH-4A and later use, and is only supportable on legacy cores.
Signed-off-by: Stuart Menefy <stuart.menefy@st.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/Kconfig')
-rw-r--r-- | arch/sh/Kconfig | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig index 2dc3b177193c..f645f8416f1c 100644 --- a/arch/sh/Kconfig +++ b/arch/sh/Kconfig | |||
@@ -692,7 +692,7 @@ source "kernel/Kconfig.preempt" | |||
692 | 692 | ||
693 | config GUSA | 693 | config GUSA |
694 | def_bool y | 694 | def_bool y |
695 | depends on !SMP | 695 | depends on !SMP && SUPERH32 |
696 | help | 696 | help |
697 | This enables support for gUSA (general UserSpace Atomicity). | 697 | This enables support for gUSA (general UserSpace Atomicity). |
698 | This is the default implementation for both UP and non-ll/sc | 698 | This is the default implementation for both UP and non-ll/sc |
@@ -704,6 +704,16 @@ config GUSA | |||
704 | This should only be disabled for special cases where alternate | 704 | This should only be disabled for special cases where alternate |
705 | atomicity implementations exist. | 705 | atomicity implementations exist. |
706 | 706 | ||
707 | config GUSA_RB | ||
708 | bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)" | ||
709 | depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A) | ||
710 | help | ||
711 | Enabling this option will allow the kernel to implement some | ||
712 | atomic operations using a software implemention of load-locked/ | ||
713 | store-conditional (LLSC). On machines which do not have hardware | ||
714 | LLSC, this should be more efficient than the other alternative of | ||
715 | disabling insterrupts around the atomic sequence. | ||
716 | |||
707 | endmenu | 717 | endmenu |
708 | 718 | ||
709 | menu "Boot options" | 719 | menu "Boot options" |