From: Dave A. <ai...@us...> - 2001-06-08 21:55:04
|
Update of /cvsroot/linux-vax/kernel-2.4/include/asm-vax In directory usw-pr-cvs1:/tmp/cvs-serv13097/include/asm-vax Modified Files: unistd.h Log Message: DA: fixed a couple of problems in syscall macros.. missing setting of r0 in syscall0 extra crap in syscall2 chmk line Index: unistd.h =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/include/asm-vax/unistd.h,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- unistd.h 2001/05/27 23:20:11 1.8 +++ unistd.h 2001/06/08 21:55:00 1.9 @@ -245,6 +245,7 @@ long _sc_ret; \ { \ register long _sc_0 __asm__("r0"); \ + _sc_0 = __NR_##name; \ __asm__ __volatile__ ("pushl $0x0\n\t" \ "movl sp, ap\n\t" \ "chmk r0 # %0 %1\n\t" \ @@ -278,7 +279,7 @@ #define _syscall2(type,name,type1,arg1,type2,arg2) \ type name(type1 arg1,type2 arg2) \ { \ - long _sc_ret; \ + long _sc_ret; \ { \ register long _sc_0 __asm__("r0"); \ _sc_0 = __NR_##name; \ @@ -286,7 +287,7 @@ "pushl %2\n\t" \ "pushl $0x2\n\t" \ "movl sp, ap\n\t" \ - "chmk r0 # %0 %1 %2 %3 %4\n\t" \ + "chmk r0 # %0 %1 %2 %3\n\t" \ : "=r"(_sc_0) \ : "0"(_sc_0), "m"((long)arg1), "m"((long)arg2) \ : _syscall_clobbers); \ @@ -295,6 +296,8 @@ _syscall_return(type); \ } +/* "movl sp, ap\n\t" \ + */ #define _syscall3(type,name,type1,arg1,type2,arg2,type3,arg3) \ type name(type1 arg1,type2 arg2,type3 arg3) \ { \ |