patch-2.4.8 linux/include/asm-s390/system.h

Next file: linux/include/asm-s390/uaccess.h
Previous file: linux/include/asm-s390/softirq.h
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.7/linux/include/asm-s390/system.h linux/include/asm-s390/system.h
@@ -61,7 +61,7 @@
                                 "   jl    1b\n"
                                 "   ex    0,4(2)"     /* store *ptr to x */
                                 : "+a&" (ptr) : "a" (&x)
-                                : "memory", "0", "1", "2");
+                                : "memory", "cc", "0", "1", "2");
 			break;
                 case 2:
                         if(((__u32)ptr)&1)
@@ -84,7 +84,7 @@
                                 "   jl    1b\n"
                                 "   ex    0,4(2)"     /* store *ptr to x */
                                 : "+a&" (ptr) : "a" (&x)
-                                : "memory", "0", "1", "2");
+                                : "memory", "cc", "0", "1", "2");
                         break;
                 case 4:
                         if(((__u32)ptr)&3)
@@ -95,7 +95,7 @@
                                 "    jl  0b\n"
                                 "    lr  %0,0\n"
                                 : "+d&" (x) : "a" (ptr)
-                                : "memory", "0" );
+                                : "memory", "cc", "0" );
                         break;
                default:
                         abort();
@@ -149,7 +149,7 @@
         __asm__ __volatile__("ssm   %0" : : "m" (x) : "memory")
 
 #define __load_psw(psw) \
-	__asm__ __volatile__("lpsw %0" : : "m" (psw));
+	__asm__ __volatile__("lpsw %0" : : "m" (psw) : "cc" );
 
 #define __ctl_load(array, low, high) ({ \
 	__asm__ __volatile__ ( \
@@ -185,7 +185,7 @@
                 "    st    0,0(1)\n" \
                 "1:  ex    %1,4(2)"      /* execute lctl */ \
                 : "=m" (dummy) : "a" (cr*17), "a" (1<<(bit)) \
-                : "0", "1", "2"); \
+                : "cc", "0", "1", "2"); \
         })
 
 #define __ctl_clear_bit(cr, bit) ({ \
@@ -204,7 +204,7 @@
                 "    st    0,0(1)\n" \
                 "1:  ex    %1,4(2)"      /* execute lctl */ \
                 : "=m" (dummy) : "a" (cr*17), "a" (~(1<<(bit))) \
-                : "0", "1", "2"); \
+                : "cc", "0", "1", "2"); \
         })
 
 /* For spinlocks etc */

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)