Exemplo n.º 1
0
                 int, fd, vki_loff_t, offset, vki_loff_t, len, int, advice);
}

#undef PRE
#undef POST

/* ---------------------------------------------------------------------
   The mips64/Linux syscall table
   ------------------------------------------------------------------ */

/* 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),
Exemplo n.º 2
0
   ------------------------------------------------------------------ */

/* Add an amd64-linux specific wrapper to a syscall table. */
#define PLAX_(const, name)    WRAPPER_ENTRY_X_(amd64_linux, const, name) 
#define PLAXY(const, name)    WRAPPER_ENTRY_XY(amd64_linux, const, name) 

// This table maps from __NR_xxx syscall numbers (from
// linux/include/asm-x86_64/unistd.h) to the appropriate PRE/POST sys_foo()
// wrappers on AMD64 (as per sys_call_table in
// 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 
Exemplo n.º 3
0
 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
 GENXY(__NR_getcwd,            sys_getcwd),               // 17
 LINXY(__NR_lookup_dcookie,    sys_lookup_dcookie),       // 18
 LINX_(__NR_eventfd2,          sys_eventfd2),             // 19
 LINXY(__NR_epoll_create1,     sys_epoll_create1),        // 20
 LINX_(__NR_epoll_ctl,         sys_epoll_ctl),            // 21
 LINXY(__NR_epoll_pwait,       sys_epoll_pwait),          // 22
 GENXY(__NR_dup,               sys_dup),                  // 23
 GENXY(__NR_dup2,              sys_dup2),                 // 23
 LINXY(__NR_dup3,              sys_dup3),                 // 24
 LINXY(__NR_fcntl,             sys_fcntl),                // 25
 LINXY(__NR_inotify_init1,     sys_inotify_init1),        // 26
 LINX_(__NR_inotify_add_watch, sys_inotify_add_watch),    // 27
 LINX_(__NR_inotify_rm_watch,  sys_inotify_rm_watch),     // 28
 LINXY(__NR_ioctl,             sys_ioctl),                // 29
 LINX_(__NR_ioprio_set,        sys_ioprio_set),           // 30
 LINX_(__NR_ioprio_get,        sys_ioprio_get),           // 31
#define PLAX_(sysno, name)    WRAPPER_ENTRY_X_(arm_linux, sysno, name) 
#define PLAXY(sysno, name)    WRAPPER_ENTRY_XY(arm_linux, sysno, name)

// This table maps from __NR_xxx syscall numbers (from
// linux/include/asm-arm/unistd.h) to the appropriate PRE/POST sys_foo()
// wrappers on arm (as per sys_call_table in linux/arch/arm/kernel/entry.S).
//
// For those syscalls not handled by Valgrind, the annotation indicate its
// arch/OS combination, eg. */* (generic), */Linux (Linux only), ?/?
// (unknown).

static SyscallTableEntry syscall_main_table[] = {
//zz    //   (restart_syscall)                             // 0
   GENX_(__NR_exit,              sys_exit),           // 1
   GENX_(__NR_fork,              sys_fork),           // 2
   GENXY(__NR_read,              sys_read),           // 3
   GENX_(__NR_write,             sys_write),          // 4

   GENXY(__NR_open,              sys_open),           // 5
   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