From: Dave A. <ai...@us...> - 2001-06-10 14:52:19
|
Update of /cvsroot/linux-vax/kernel-2.4/include/asm-vax In directory usw-pr-cvs1:/tmp/cvs-serv16297/include/asm-vax Modified Files: unistd.h Log Message: DA: add syscall6 macro needed for mmap Index: unistd.h =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/include/asm-vax/unistd.h,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- unistd.h 2001/06/08 21:55:00 1.9 +++ unistd.h 2001/06/10 14:51:14 1.10 @@ -369,6 +369,33 @@ _syscall_return(type); \ } +#define _syscall6(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4, \ + type5,arg5, type6, arg6) \ +type name (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5,type6 args) \ +{ \ + long _sc_ret; \ + { \ + register long _sc_0 __asm__("r0"); \ + _sc_0 = __NR_##name; \ + __asm__ __volatile__ ("pushl %7\n\t" \ + "pushl %6\n\t" \ + "pushl %5\n\t" \ + "pushl %4\n\t" \ + "pushl %3\n\t" \ + "pushl %2\n\t" \ + "pushl $0x6\n\t" \ + "movl sp, ap\n\t" \ + "chmk r0 # %0 %1 %2 %3 %4 %5 %6 %7\n\t" \ + : "=r"(_sc_0) \ + : "0"(_sc_0), "m"((long)arg1), "m"((long)arg2), \ + "m"((long)arg3), "m"((long)arg4), \ + "m"((long)arg5), "m"((long)arg6) \ + : _syscall_clobbers); \ + _sc_ret = _sc_0; \ + } \ + _syscall_return(type); \ +} + #ifdef __KERNEL_SYSCALLS__ /* This _must_ be inlined so that it picks up the correct AP value |