From: Jan-Benedict G. <jb...@us...> - 2005-11-30 14:26:47
|
Update of /cvsroot/linux-vax/kernel-2.5/include/asm-vax In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3501/include/asm-vax Modified Files: unistd.h Log Message: - Unbreak _syscallX() macros. They were clobbering AP. Index: unistd.h =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/include/asm-vax/unistd.h,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- unistd.h 31 Oct 2005 13:27:18 -0000 1.13 +++ unistd.h 30 Nov 2005 14:26:37 -0000 1.14 @@ -290,9 +290,12 @@ long _sc_ret; \ \ __asm__ __volatile__ ( \ - " pushl $0x0 \n" \ - " movl %%sp, %%ap \n" \ - " chmk %%r0 \n" \ + " pushl %%ap \n" \ + " pushl $0 \n" \ + " movl %%sp, %%ap \n" \ + " chmk %%r0 \n" \ + " addl2 $4, %%sp \n" \ + " movl (%%sp)+, %ap \n" \ : "=r"(_sc_0) \ : "0"(_sc_0) \ : _syscall_clobbers); \ @@ -308,10 +311,13 @@ long _sc_ret; \ \ __asm__ __volatile__ ( \ - " pushl %2 \n" \ - " pushl $0x1 \n" \ - " movl %%sp, %%ap \n" \ - " chmk %%r0 \n" \ + " pushl %%ap \n" \ + " pushl %2 \n" \ + " pushl $1 \n" \ + " movl %%sp, %%ap \n" \ + " chmk %%r0 \n" \ + " addl2 $8, %%sp \n" \ + " movl (%%sp)+, %%ap \n" \ : "=r"(_sc_0) \ : "0"(_sc_0), "m"(arg1) \ : _syscall_clobbers); \ @@ -327,11 +333,14 @@ long _sc_ret; \ \ __asm__ __volatile__ ( \ - " pushl %3 \n" \ - " pushl %2 \n" \ - " pushl $0x2 \n" \ - " movl %%sp, %%ap \n" \ - " chmk %%r0 \n" \ + " pushl %%ap \n" \ + " pushl %3 \n" \ + " pushl %2 \n" \ + " pushl $2 \n" \ + " movl %%sp, %%ap \n" \ + " chmk %%r0 \n" \ + " addl2 $12, %%sp \n" \ + " movl (%%sp)+, %%ap \n" \ : "=r"(_sc_0) \ : "0"(_sc_0), "m"(arg1), "m"(arg2) \ : _syscall_clobbers); \ @@ -347,12 +356,15 @@ long _sc_ret; \ \ __asm__ __volatile__ ( \ - " pushl %4 \n" \ - " pushl %3 \n" \ - " pushl %2 \n" \ - " pushl $0x3 \n" \ - " movl %%sp, %%ap \n" \ - " chmk %0 \n" \ + " pushl %%ap \n" \ + " pushl %4 \n" \ + " pushl %3 \n" \ + " pushl %2 \n" \ + " pushl $3 \n" \ + " movl %%sp, %%ap \n" \ + " chmk %%r0 \n" \ + " addl2 $16, %%sp \n" \ + " movl (%%sp)+, %%ap \n" \ : "=r"(_sc_0) \ : "0"(_sc_0), "m"(arg1), "m"(arg2), "m"(arg3) \ : _syscall_clobbers); \ @@ -369,13 +381,16 @@ long _sc_ret; \ \ __asm__ __volatile__ ( \ - " pushl %5 \n" \ - " pushl %4 \n" \ - " pushl %3 \n" \ - " pushl %2 \n" \ - " pushl $0x4 \n" \ - " movl %%sp, %%ap \n" \ - " chmk %%r0 \n" \ + " pushl %%ap \n" \ + " pushl %5 \n" \ + " pushl %4 \n" \ + " pushl %3 \n" \ + " pushl %2 \n" \ + " pushl $4 \n" \ + " movl %%sp, %%ap \n" \ + " chmk %%r0 \n" \ + " addl2 $20, %%sp \n" \ + " movl (%%sp)+, %%ap \n" \ : "=r"(_sc_0) \ : "0"(_sc_0), "m"(arg1), "m"(arg2), "m"(arg3), \ "m"( arg4) \ @@ -393,14 +408,17 @@ long _sc_ret; \ \ __asm__ __volatile__ ( \ - " pushl %6 \n" \ - " pushl %5 \n" \ - " pushl %4 \n" \ - " pushl %3 \n" \ - " pushl %2 \n" \ - " pushl $0x5 \n" \ - " movl %%sp, %%ap \n" \ - " chmk %%r0 \n" \ + " pushl %%ap \n" \ + " pushl %6 \n" \ + " pushl %5 \n" \ + " pushl %4 \n" \ + " pushl %3 \n" \ + " pushl %2 \n" \ + " pushl $5 \n" \ + " movl %%sp, %%ap \n" \ + " chmk %%r0 \n" \ + " addl2 $24, %%sp \n" \ + " movl (%%sp)+, %%ap \n" \ : "=r"(_sc_0) \ : "0"(_sc_0), "m"(arg1), "m"(arg2), "m"(arg3), \ "m"(arg4), "m"(arg5) \ @@ -419,15 +437,18 @@ long _sc_ret; \ \ __asm__ __volatile__ ( \ - " pushl %7 \n" \ - " pushl %6 \n" \ - " pushl %5 \n" \ - " pushl %4 \n" \ - " pushl %3 \n" \ - " pushl %2 \n" \ - " pushl $0x6 \n" \ - " movl %%sp, %%ap \n" \ - " chmk %%r0 \n" \ + " pushl %%ap \n" \ + " pushl %7 \n" \ + " pushl %6 \n" \ + " pushl %5 \n" \ + " pushl %4 \n" \ + " pushl %3 \n" \ + " pushl %2 \n" \ + " pushl $6 \n" \ + " movl %%sp, %%ap \n" \ + " chmk %%r0 \n" \ + " addl2 $28, %%sp \n" \ + " movl (%%sp)+, %%ap \n" \ : "=r"(_sc_0) \ : "0"(_sc_0), "m"(arg1), "m"(arg2), "m"(arg3), \ "m"(arg4), "m"(arg5), "m"(arg6) \ |