diff options
author | Peter Oberparleiter <peter.oberparleiter@de.ibm.com> | 2006-02-01 03:06:40 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-02-01 08:53:24 -0800 |
commit | 46d0d2c811c8e9dd5cffdc3a5c03d988eb5a2996 (patch) | |
tree | 5926ec595630cd42b49eadc15cfb74c9c81811ae | |
parent | b1969fa46d95efcdb0b84c540eca10db99665148 (diff) | |
download | lwn-46d0d2c811c8e9dd5cffdc3a5c03d988eb5a2996.tar.gz lwn-46d0d2c811c8e9dd5cffdc3a5c03d988eb5a2996.zip |
[PATCH] s390: Add missing memory constraint to stcrw()
Add missing memory constraint to stcrw() inline assembly.
Signed-off-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r-- | drivers/s390/s390mach.h | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/drivers/s390/s390mach.h b/drivers/s390/s390mach.h index d9ea7ed2e46e..7abb42a09ae2 100644 --- a/drivers/s390/s390mach.h +++ b/drivers/s390/s390mach.h @@ -90,15 +90,16 @@ struct crw { static inline int stcrw(struct crw *pcrw ) { - int ccode; + int ccode; - __asm__ __volatile__( - "STCRW 0(%1)\n\t" - "IPM %0\n\t" - "SRL %0,28\n\t" - : "=d" (ccode) : "a" (pcrw) - : "cc", "1" ); - return ccode; + __asm__ __volatile__( + "stcrw 0(%2)\n\t" + "ipm %0\n\t" + "srl %0,28\n\t" + : "=d" (ccode), "=m" (*pcrw) + : "a" (pcrw) + : "cc" ); + return ccode; } #endif /* __s390mach */ |