------------------------------------------------------------------ */ /* Add an mips64-linux specific wrapper to a syscall table. */ #define PLAX_(sysno, name) WRAPPER_ENTRY_X_(mips_linux, sysno, name) #define PLAXY(sysno, name) WRAPPER_ENTRY_XY(mips_linux, sysno, name) static SyscallTableEntry syscall_main_table[] = { GENXY (__NR_read, sys_read), /* 5000 */ GENX_ (__NR_write, sys_write), GENXY (__NR_open, sys_open), GENXY (__NR_close, sys_close), GENXY (__NR_stat, sys_newstat), GENXY (__NR_fstat, sys_newfstat), GENXY (__NR_lstat, sys_newlstat), GENXY (__NR_poll, sys_poll), LINX_ (__NR_lseek, sys_lseek), PLAX_ (__NR_mmap, sys_mmap), GENXY (__NR_mprotect, sys_mprotect), GENXY (__NR_munmap, sys_munmap), GENX_ (__NR_brk, sys_brk), LINXY (__NR_rt_sigaction, sys_rt_sigaction), LINXY (__NR_rt_sigprocmask, sys_rt_sigprocmask), LINXY (__NR_ioctl, sys_ioctl), LINXY (__NR_eventfd2, sys_eventfd2), LINXY (__NR_signalfd4, sys_signalfd4), GENXY (__NR_pread64, sys_pread64), GENX_ (__NR_pwrite64, sys_pwrite64), GENXY (__NR_readv, sys_readv), GENX_ (__NR_writev, sys_writev), GENX_ (__NR_access, sys_access), PLAXY (__NR_pipe, sys_pipe),
------------------------------------------------------------------ */ /* Add an tilegx-linux specific wrapper to a syscall table. */ #define PLAX_(const, name) WRAPPER_ENTRY_X_(tilegx_linux, const, name) #define PLAXY(const, name) WRAPPER_ENTRY_XY(tilegx_linux, const, name) // This table maps from __NR_xxx syscall numbers (from // linux/include/asm/unistd.h) to the appropriate PRE/POST sys_foo() // // When implementing these wrappers, you need to work out if the wrapper is // generic, Linux-only (but arch-independent), or TILEGX/Linux only. static SyscallTableEntry syscall_table[] = { LINXY(__NR_io_setup, sys_io_setup), // 0 LINX_(__NR_io_destroy, sys_io_destroy), // 1 LINX_(__NR_io_submit, sys_io_submit), // 2 LINXY(__NR_io_cancel, sys_io_cancel), // 3 LINXY(__NR_io_getevents, sys_io_getevents), // 4 LINX_(__NR_setxattr, sys_setxattr), // 5 LINX_(__NR_lsetxattr, sys_lsetxattr), // 6 LINX_(__NR_fsetxattr, sys_fsetxattr), // 7 LINXY(__NR_getxattr, sys_getxattr), // 8 LINXY(__NR_lgetxattr, sys_lgetxattr), // 9 LINXY(__NR_fgetxattr, sys_fgetxattr), // 10 LINXY(__NR_listxattr, sys_listxattr), // 11 LINXY(__NR_llistxattr, sys_llistxattr), // 12 LINXY(__NR_flistxattr, sys_flistxattr), // 13 LINX_(__NR_removexattr, sys_removexattr), // 14 LINX_(__NR_lremovexattr, sys_lremovexattr), // 15 LINX_(__NR_fremovexattr, sys_fremovexattr), // 16
// linux/arch/x86_64/kernel/entry.S). // // When implementing these wrappers, you need to work out if the wrapper is // generic, Linux-only (but arch-independent), or AMD64/Linux only. const SyscallTableEntry ML_(syscall_table)[] = { GENXY(__NR_read, sys_read), // 0 GENX_(__NR_write, sys_write), // 1 GENXY(__NR_open, sys_open), // 2 GENXY(__NR_close, sys_close), // 3 GENXY(__NR_stat, sys_newstat), // 4 GENXY(__NR_fstat, sys_newfstat), // 5 GENXY(__NR_lstat, sys_newlstat), // 6 GENXY(__NR_poll, sys_poll), // 7 LINX_(__NR_lseek, sys_lseek), // 8 PLAX_(__NR_mmap, sys_mmap), // 9 GENXY(__NR_mprotect, sys_mprotect), // 10 GENXY(__NR_munmap, sys_munmap), // 11 GENX_(__NR_brk, sys_brk), // 12 LINXY(__NR_rt_sigaction, sys_rt_sigaction), // 13 LINXY(__NR_rt_sigprocmask, sys_rt_sigprocmask), // 14 PLAX_(__NR_rt_sigreturn, sys_rt_sigreturn), // 15 GENXY(__NR_ioctl, sys_ioctl), // 16 PLAXY(__NR_pread64, sys_pread64), // 17 PLAX_(__NR_pwrite64, sys_pwrite64), // 18 GENXY(__NR_readv, sys_readv), // 19 GENX_(__NR_writev, sys_writev), // 20
GENXY(__NR_close, sys_close), // 6 // GENXY(__NR_waitpid, sys_waitpid), // 7 GENXY(__NR_creat, sys_creat), // 8 GENX_(__NR_link, sys_link), // 9 GENX_(__NR_unlink, sys_unlink), // 10 GENX_(__NR_execve, sys_execve), // 11 GENX_(__NR_chdir, sys_chdir), // 12 GENXY(__NR_time, sys_time), // 13 GENX_(__NR_mknod, sys_mknod), // 14 GENX_(__NR_chmod, sys_chmod), // 15 //zz LINX_(__NR_lchown, sys_lchown16), // 16 // GENX_(__NR_break, sys_ni_syscall), // 17 //zz // (__NR_oldstat, sys_stat), // 18 (obsolete) LINX_(__NR_lseek, sys_lseek), // 19 GENX_(__NR_getpid, sys_getpid), // 20 LINX_(__NR_mount, sys_mount), // 21 LINX_(__NR_umount, sys_oldumount), // 22 LINX_(__NR_setuid, sys_setuid16), // 23 ## P LINX_(__NR_getuid, sys_getuid16), // 24 ## P //zz //zz // (__NR_stime, sys_stime), // 25 * (SVr4,SVID,X/OPEN) PLAXY(__NR_ptrace, sys_ptrace), // 26 GENX_(__NR_alarm, sys_alarm), // 27 //zz // (__NR_oldfstat, sys_fstat), // 28 * L -- obsolete GENX_(__NR_pause, sys_pause), // 29 LINX_(__NR_utime, sys_utime), // 30 // GENX_(__NR_stty, sys_ni_syscall), // 31
GENXY(__NR_close, sys_close), // 6 GENXY(__NR_waitpid, sys_waitpid), // 7 GENXY(__NR_creat, sys_creat), // 8 GENX_(__NR_link, sys_link), // 9 GENX_(__NR_unlink, sys_unlink), // 10 GENX_(__NR_execve, sys_execve), // 11 GENX_(__NR_chdir, sys_chdir), // 12 GENXY(__NR_time, sys_time), // 13 GENX_(__NR_mknod, sys_mknod), // 14 //.. GENX_(__NR_chmod, sys_chmod), // 15 GENX_(__NR_lchown, sys_lchown), // 16 ## P //.. GENX_(__NR_break, sys_ni_syscall), // 17 //.. // (__NR_oldstat, sys_stat), // 18 (obsolete) LINX_(__NR_lseek, sys_lseek), // 19 //.. GENX_(__NR_getpid, sys_getpid), // 20 LINX_(__NR_mount, sys_mount), // 21 LINX_(__NR_umount, sys_oldumount), // 22 GENX_(__NR_setuid, sys_setuid), // 23 ## P GENX_(__NR_getuid, sys_getuid), // 24 ## P //.. //.. // (__NR_stime, sys_stime), // 25 * (SVr4,SVID,X/OPEN) //.. PLAXY(__NR_ptrace, sys_ptrace), // 26 GENX_(__NR_alarm, sys_alarm), // 27 //.. // (__NR_oldfstat, sys_fstat), // 28 * L -- obsolete GENX_(__NR_pause, sys_pause), // 29 //.. LINX_(__NR_utime, sys_utime), // 30 //.. GENX_(__NR_stty, sys_ni_syscall), // 31
GENXY(__NR_close, sys_close), // 6 GENXY(__NR_waitpid, sys_waitpid), // 7 GENXY(__NR_creat, sys_creat), // 8 GENX_(__NR_link, sys_link), // 9 GENX_(__NR_unlink, sys_unlink), // 10 GENX_(__NR_execve, sys_execve), // 11 GENX_(__NR_chdir, sys_chdir), // 12 GENXY(__NR_time, sys_time), // 13 GENX_(__NR_mknod, sys_mknod), // 14 GENX_(__NR_chmod, sys_chmod), // 15 GENX_(__NR_lchown, sys_lchown), // 16 // _____(__NR_break, sys_break), // 17 // _____(__NR_oldstat, sys_oldstat), // 18 LINX_(__NR_lseek, sys_lseek), // 19 GENX_(__NR_getpid, sys_getpid), // 20 LINX_(__NR_mount, sys_mount), // 21 // _____(__NR_umount, sys_umount), // 22 GENX_(__NR_setuid, sys_setuid), // 23 GENX_(__NR_getuid, sys_getuid), // 24 // _____(__NR_stime, sys_stime), // 25 // _____(__NR_ptrace, sys_ptrace), // 26 GENX_(__NR_alarm, sys_alarm), // 27 // _____(__NR_oldfstat, sys_oldfstat), // 28 GENX_(__NR_pause, sys_pause), // 29 LINX_(__NR_utime, sys_utime), // 30 // _____(__NR_stty, sys_stty), // 31