aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390
diff options
context:
space:
mode:
authorChristian Borntraeger <borntraeger@de.ibm.com>2010-03-24 06:49:52 -0400
committerMartin Schwidefsky <sky@mschwide.boeblingen.de.ibm.com>2010-03-24 06:49:53 -0400
commit1bff779285f89cd0b62955c20cca70ada4074236 (patch)
tree467f31d9adb472fec251e22af02e3cf785a3f45c /arch/s390
parenta08786568a7e334d8a07a7bb8f4fafa3f7afb89c (diff)
[S390] system.h: Fix compile error for 1 and 2 byte cmpxchg
commit 024914477e15ef8b17f271ec47f1bb8a589f0806 "memcg: move charges of anonymous swap" revealed that the 1 byte and 2 byte cmpxchg is currently broken: arch/s390/include/asm/system.h: Assembler messages: arch/s390/include/asm/system.h:241: Error: junk at end of line: `(%r5)' make[1]: *** [mm/page_cgroup.o] Error 1 make[1]: *** Waiting for unfinished jobs.... It turned out that commit 987bcdacb18a3adc2a48d85c9b005069c2f4dd7b ([S390] use inline assembly contraints available with gcc 3.3.3) broke the inline assembly. The or operands are now in constraint 3 and 4 instead of 2 and 3. Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390')
-rw-r--r--arch/s390/include/asm/system.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/s390/include/asm/system.h b/arch/s390/include/asm/system.h
index 12be42baa05..1741c1556a4 100644
--- a/arch/s390/include/asm/system.h
+++ b/arch/s390/include/asm/system.h
@@ -219,8 +219,8 @@ __cmpxchg(volatile void *ptr, unsigned long old, unsigned long new, int size)
219 " l %0,%2\n" 219 " l %0,%2\n"
220 "0: nr %0,%5\n" 220 "0: nr %0,%5\n"
221 " lr %1,%0\n" 221 " lr %1,%0\n"
222 " or %0,%2\n" 222 " or %0,%3\n"
223 " or %1,%3\n" 223 " or %1,%4\n"
224 " cs %0,%1,%2\n" 224 " cs %0,%1,%2\n"
225 " jnl 1f\n" 225 " jnl 1f\n"
226 " xr %1,%0\n" 226 " xr %1,%0\n"
@@ -240,8 +240,8 @@ __cmpxchg(volatile void *ptr, unsigned long old, unsigned long new, int size)
240 " l %0,%2\n" 240 " l %0,%2\n"
241 "0: nr %0,%5\n" 241 "0: nr %0,%5\n"
242 " lr %1,%0\n" 242 " lr %1,%0\n"
243 " or %0,%2\n" 243 " or %0,%3\n"
244 " or %1,%3\n" 244 " or %1,%4\n"
245 " cs %0,%1,%2\n" 245 " cs %0,%1,%2\n"
246 " jnl 1f\n" 246 " jnl 1f\n"
247 " xr %1,%0\n" 247 " xr %1,%0\n"