summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorLuca Barbieri <luca@luca-barbieri.com>2010-02-24 12:54:23 +0300
committerH. Peter Anvin <hpa@zytor.com>2010-02-26 07:47:03 +0300
commit9c76b38476b18c45f97098a10b0176b321eba3ea (patch)
treea17aff7507a2e2885124210be125b37be552cd39 /arch
parentb3ac891b67bd4b1fc728d1c784cad1212dea433d (diff)
downloadlinux-9c76b38476b18c45f97098a10b0176b321eba3ea.tar.xz
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>
Diffstat (limited to 'arch')
-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 ffb9bb6b6c37..8859e12dd3cf 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), \