diff options
author | Christian Borntraeger <borntraeger@de.ibm.com> | 2010-03-24 06:49:52 -0400 |
---|---|---|
committer | Martin Schwidefsky <sky@mschwide.boeblingen.de.ibm.com> | 2010-03-24 06:49:53 -0400 |
commit | 1bff779285f89cd0b62955c20cca70ada4074236 (patch) | |
tree | 467f31d9adb472fec251e22af02e3cf785a3f45c /arch/s390 | |
parent | a08786568a7e334d8a07a7bb8f4fafa3f7afb89c (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.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/s390/include/asm/system.h b/arch/s390/include/asm/system.h index 12be42baa055..1741c1556a4e 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" |