summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuca Barbieri <luca@luca-barbieri.com>2010-02-24 10:54:23 +0100
committerH. Peter Anvin <hpa@zytor.com>2010-02-25 20:47:03 -0800
commit9c76b38476b18c45f97098a10b0176b321eba3ea (patch)
treea17aff7507a2e2885124210be125b37be552cd39
parentb3ac891b67bd4b1fc728d1c784cad1212dea433d (diff)
downloadop-kernel-dev-9c76b38476b18c45f97098a10b0176b321eba3ea.zip
op-kernel-dev-9c76b38476b18c45f97098a10b0176b321eba3ea.tar.gz
x86-32: Allow UP/SMP lock replacement in cmpxchg64
Use the functionality just introduced in the previous patch: mark the lock prefixes in cmpxchg64 alternatives for UP removal. Changes in v2: - Naming change Signed-off-by: Luca Barbieri <luca@luca-barbieri.com> LKML-Reference: <1267005265-27958-3-git-send-email-luca@luca-barbieri.com> Signed-off-by: H. Peter Anvin <hpa@zytor.com>
-rw-r--r--arch/x86/include/asm/cmpxchg_32.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/x86/include/asm/cmpxchg_32.h b/arch/x86/include/asm/cmpxchg_32.h
index ffb9bb6..8859e12 100644
--- a/arch/x86/include/asm/cmpxchg_32.h
+++ b/arch/x86/include/asm/cmpxchg_32.h
@@ -271,7 +271,8 @@ extern unsigned long long cmpxchg_486_u64(volatile void *, u64, u64);
__typeof__(*(ptr)) __ret; \
__typeof__(*(ptr)) __old = (o); \
__typeof__(*(ptr)) __new = (n); \
- alternative_io("call cmpxchg8b_emu", \
+ alternative_io(LOCK_PREFIX_HERE \
+ "call cmpxchg8b_emu", \
"lock; cmpxchg8b (%%esi)" , \
X86_FEATURE_CX8, \
"=A" (__ret), \
OpenPOWER on IntegriCloud