diff --git a/include/asm-s390/smp.h b/include/asm-s390/smp.h index 7bd666e535ae4adbc17c3be483d86698daa6d8e3..3c3b11d91c818e259fb239f9601f2b305ee0c7af 100644 --- a/include/asm-s390/smp.h +++ b/include/asm-s390/smp.h @@ -29,7 +29,7 @@ typedef struct } sigp_info; extern volatile unsigned long cpu_online_map; -extern unsigned long cpu_possible_map; +extern volatile unsigned long cpu_possible_map; #define NO_PROC_ID 0xFF /* No processor magic marker */ diff --git a/include/asm-s390/unistd.h b/include/asm-s390/unistd.h index 411fb89ad1c6e9fc38c97c0307dc64683983548f..a3ae2973b25a9105c8545444537b7973fecb04aa 100644 --- a/include/asm-s390/unistd.h +++ b/include/asm-s390/unistd.h @@ -258,11 +258,11 @@ do { \ return (type) (res); \ } while (0) -#define _svc_clobber "2", "cc", "memory" +#define _svc_clobber "cc", "memory" #define _syscall0(type,name) \ type name(void) { \ - long __res; \ + register long __res asm("2"); \ __asm__ __volatile__ ( \ " svc %b1\n" \ " lr %0,2" \ @@ -275,13 +275,13 @@ type name(void) { \ #define _syscall1(type,name,type1,arg1) \ type name(type1 arg1) { \ register type1 __arg1 asm("2") = arg1; \ - long __res; \ + register long __res asm("2"); \ __asm__ __volatile__ ( \ " svc %b1\n" \ " lr %0,2" \ : "=d" (__res) \ : "i" (__NR_##name), \ - "d" (__arg1) \ + "0" (__arg1) \ : _svc_clobber ); \ __syscall_return(type,__res); \ } @@ -290,13 +290,13 @@ type name(type1 arg1) { \ type name(type1 arg1, type2 arg2) { \ register type1 __arg1 asm("2") = arg1; \ register type2 __arg2 asm("3") = arg2; \ - long __res; \ + register long __res asm("2"); \ __asm__ __volatile__ ( \ " svc %b1\n" \ " lr %0,2" \ : "=d" (__res) \ : "i" (__NR_##name), \ - "d" (__arg1), \ + "0" (__arg1), \ "d" (__arg2) \ : _svc_clobber ); \ __syscall_return(type,__res); \ @@ -307,13 +307,13 @@ type name(type1 arg1, type2 arg2, type3 arg3) { \ register type1 __arg1 asm("2") = arg1; \ register type2 __arg2 asm("3") = arg2; \ register type3 __arg3 asm("4") = arg3; \ - long __res; \ + register long __res asm("2"); \ __asm__ __volatile__ ( \ " svc %b1\n" \ " lr %0,2" \ : "=d" (__res) \ : "i" (__NR_##name), \ - "d" (__arg1), \ + "0" (__arg1), \ "d" (__arg2), \ "d" (__arg3) \ : _svc_clobber ); \ @@ -327,13 +327,13 @@ type name(type1 arg1, type2 arg2, type3 arg3, type4 arg4) { \ register type2 __arg2 asm("3") = arg2; \ register type3 __arg3 asm("4") = arg3; \ register type4 __arg4 asm("5") = arg4; \ - long __res; \ + register long __res asm("2"); \ __asm__ __volatile__ ( \ " svc %b1\n" \ " lr %0,2" \ : "=d" (__res) \ : "i" (__NR_##name), \ - "d" (__arg1), \ + "0" (__arg1), \ "d" (__arg2), \ "d" (__arg3), \ "d" (__arg4) \ @@ -350,13 +350,13 @@ type name(type1 arg1, type2 arg2, type3 arg3, type4 arg4, \ register type3 __arg3 asm("4") = arg3; \ register type4 __arg4 asm("5") = arg4; \ register type5 __arg5 asm("6") = arg5; \ - long __res; \ + register long __res asm("2"); \ __asm__ __volatile__ ( \ " svc %b1\n" \ " lr %0,2" \ : "=d" (__res) \ : "i" (__NR_##name), \ - "d" (__arg1), \ + "0" (__arg1), \ "d" (__arg2), \ "d" (__arg3), \ "d" (__arg4), \ diff --git a/include/asm-s390x/unistd.h b/include/asm-s390x/unistd.h index aea5cf0a97d787b2a34fcddf482efe0e8e5925ed..bc4663ee4c3ca419d59e29c2ac0ee0e32887f00d 100644 --- a/include/asm-s390x/unistd.h +++ b/include/asm-s390x/unistd.h @@ -225,11 +225,11 @@ do { \ return (type) (res); \ } while (0) -#define _svc_clobber "2", "cc", "memory" +#define _svc_clobber "cc", "memory" #define _syscall0(type,name) \ type name(void) { \ - long __res; \ + register long __res asm("2"); \ __asm__ __volatile__ ( \ " svc %b1\n" \ " lgr %0,2" \ @@ -242,13 +242,13 @@ type name(void) { \ #define _syscall1(type,name,type1,arg1) \ type name(type1 arg1) { \ register type1 __arg1 asm("2") = arg1; \ - long __res; \ + register long __res asm("2"); \ __asm__ __volatile__ ( \ " svc %b1\n" \ " lgr %0,2" \ : "=d" (__res) \ : "i" (__NR_##name), \ - "d" (__arg1) \ + "0" (__arg1) \ : _svc_clobber ); \ __syscall_return(type,__res); \ } @@ -257,13 +257,13 @@ type name(type1 arg1) { \ type name(type1 arg1, type2 arg2) { \ register type1 __arg1 asm("2") = arg1; \ register type2 __arg2 asm("3") = arg2; \ - long __res; \ + register long __res asm("2"); \ __asm__ __volatile__ ( \ " svc %b1\n" \ " lgr %0,2" \ : "=d" (__res) \ : "i" (__NR_##name), \ - "d" (__arg1), \ + "0" (__arg1), \ "d" (__arg2) \ : _svc_clobber ); \ __syscall_return(type,__res); \ @@ -274,13 +274,13 @@ type name(type1 arg1, type2 arg2, type3 arg3) { \ register type1 __arg1 asm("2") = arg1; \ register type2 __arg2 asm("3") = arg2; \ register type3 __arg3 asm("4") = arg3; \ - long __res; \ + register long __res asm("2"); \ __asm__ __volatile__ ( \ " svc %b1\n" \ " lgr %0,2" \ : "=d" (__res) \ : "i" (__NR_##name), \ - "d" (__arg1), \ + "0" (__arg1), \ "d" (__arg2), \ "d" (__arg3) \ : _svc_clobber ); \ @@ -294,13 +294,13 @@ type name(type1 arg1, type2 arg2, type3 arg3, type4 arg4) { \ register type2 __arg2 asm("3") = arg2; \ register type3 __arg3 asm("4") = arg3; \ register type4 __arg4 asm("5") = arg4; \ - long __res; \ + register long __res asm("2"); \ __asm__ __volatile__ ( \ " svc %b1\n" \ " lgr %0,2" \ : "=d" (__res) \ : "i" (__NR_##name), \ - "d" (__arg1), \ + "0" (__arg1), \ "d" (__arg2), \ "d" (__arg3), \ "d" (__arg4) \ @@ -317,13 +317,13 @@ type name(type1 arg1, type2 arg2, type3 arg3, type4 arg4, \ register type3 __arg3 asm("4") = arg3; \ register type4 __arg4 asm("5") = arg4; \ register type5 __arg5 asm("6") = arg5; \ - long __res; \ + register long __res asm("2"); \ __asm__ __volatile__ ( \ " svc %b1\n" \ " lgr %0,2" \ : "=d" (__res) \ : "i" (__NR_##name), \ - "d" (__arg1), \ + "0" (__arg1), \ "d" (__arg2), \ "d" (__arg3), \ "d" (__arg4), \