Go to the documentation of this file.
   28 #include <sys/syscall.h> 
   42     {   0, 
"read", readFunc<X86Linux64> },
 
   43     {   1, 
"write", writeFunc<X86Linux64> },
 
   44     {   2, 
"open", openFunc<X86Linux64> },
 
   46     {   4, 
"stat", stat64Func<X86Linux64> },
 
   47     {   5, 
"fstat", fstat64Func<X86Linux64> },
 
   48     {   6, 
"lstat", lstat64Func<X86Linux64> },
 
   49     {   7, 
"poll", pollFunc<X86Linux64> },
 
   51     {   9, 
"mmap", mmapFunc<X86Linux64> },
 
   57     {  15, 
"rt_sigreturn" },
 
   58     {  16, 
"ioctl", ioctlFunc<X86Linux64> },
 
   59     {  17, 
"pread64", pread64Func<X86Linux64> },
 
   60     {  18, 
"pwrite64", pwrite64Func<X86Linux64> },
 
   61     {  19, 
"readv", readvFunc<X86Linux64> },
 
   62     {  20, 
"writev", writevFunc<X86Linux64> },
 
   65     {  23, 
"select", selectFunc<X86Linux64> },
 
   67     {  25, 
"mremap", mremapFunc<X86Linux64> },
 
   83     {  41, 
"socket", socketFunc<X86Linux64> },
 
   85     {  43, 
"accept", acceptFunc<X86Linux64> },
 
   95     {  53, 
"socketpair", socketpairFunc<X86Linux64> },
 
   98     {  56, 
"clone", cloneFunc<X86Linux64> },
 
  101     {  59, 
"execve", execveFunc<X86Linux64> },
 
  103     {  61, 
"wait4", wait4Func<X86Linux64> },
 
  120 #if defined(SYS_getdents) 
  121     {  78, 
"getdents", getdentsFunc },
 
  142     {  96, 
"gettimeofday", gettimeofdayFunc<X86Linux64> },
 
  143     {  97, 
"getrlimit", getrlimitFunc<X86Linux64> },
 
  144     {  98, 
"getrusage", getrusageFunc<X86Linux64> },
 
  145     {  99, 
"sysinfo", sysinfoFunc<X86Linux64> },
 
  146     { 100, 
"times", timesFunc<X86Linux64> },
 
  161     { 115, 
"getgroups" },
 
  162     { 116, 
"setgroups" },
 
  164     { 118, 
"getresuid" },
 
  165     { 119, 
"setresgid" },
 
  166     { 120, 
"getresgid" },
 
  173     { 127, 
"rt_sigpending" },
 
  174     { 128, 
"rt_sigtimedwait" },
 
  175     { 129, 
"rt_sigqueueinfo" },
 
  176     { 130, 
"rt_sigsuspend" },
 
  181     { 135, 
"personality" },
 
  183     { 137, 
"statfs", statfsFunc<X86Linux64> },
 
  184     { 138, 
"fstatfs", fstatfsFunc<X86Linux64> },
 
  186     { 140, 
"getpriority" },
 
  188     { 142, 
"sched_setparam" },
 
  189     { 143, 
"sched_getparam" },
 
  190     { 144, 
"sched_setscheduler" },
 
  191     { 145, 
"sched_getscheduler" },
 
  192     { 146, 
"sched_get_priority_max" },
 
  193     { 147, 
"sched_get_priority_min" },
 
  194     { 148, 
"sched_rr_get_interval" },
 
  198     { 152, 
"munlockall" },
 
  200     { 154, 
"modify_ldt" },
 
  201     { 155, 
"pivot_root" },
 
  210     { 164, 
"settimeofday" },
 
  216     { 170, 
"sethostname" },
 
  217     { 171, 
"setdomainname" },
 
  220     { 174, 
"create_module" },
 
  221     { 175, 
"init_module" },
 
  222     { 176, 
"delete_module" },
 
  223     { 177, 
"get_kernel_syms" },
 
  224     { 178, 
"query_module" },
 
  226     { 180, 
"nfsservctl" },
 
  229     { 183, 
"afs_syscall" },
 
  233     { 187, 
"readahead" },
 
  235     { 189, 
"lsetxattr" },
 
  236     { 190, 
"fsetxattr" },
 
  238     { 192, 
"lgetxattr" },
 
  239     { 193, 
"fgetxattr" },
 
  240     { 194, 
"listxattr" },
 
  241     { 195, 
"llistxattr" },
 
  242     { 196, 
"flistxattr" },
 
  243     { 197, 
"removexattr" },
 
  244     { 198, 
"lremovexattr" },
 
  245     { 199, 
"fremovexattr" },
 
  247     { 201, 
"time", timeFunc<X86Linux64> },
 
  248     { 202, 
"futex", futexFunc<X86Linux64> },
 
  250     { 204, 
"sched_getaffinity", schedGetaffinityFunc<X86Linux64> },
 
  251     { 205, 
"set_thread_area" },
 
  253     { 207, 
"io_destroy" },
 
  254     { 208, 
"io_getevents" },
 
  255     { 209, 
"io_submit" },
 
  256     { 210, 
"io_cancel" },
 
  257     { 211, 
"get_thread_area" },
 
  258     { 212, 
"lookup_dcookie" },
 
  259     { 213, 
"epoll_create" },
 
  260     { 214, 
"epoll_ctl_old" },
 
  261     { 215, 
"epoll_wait_old" },
 
  262     { 216, 
"remap_file_pages" },
 
  263 #if defined(SYS_getdents64) 
  264     { 217, 
"getdents64", getdents64Func },
 
  266     { 217, 
"getdents64" },
 
  269     { 219, 
"restart_syscall" },
 
  270     { 220, 
"semtimedop" },
 
  272     { 222, 
"timer_create" },
 
  273     { 223, 
"timer_settime" },
 
  274     { 224, 
"timer_gettime" },
 
  275     { 225, 
"timer_getoverrun" },
 
  276     { 226, 
"timer_delete" },
 
  277     { 227, 
"clock_settime" },
 
  278     { 228, 
"clock_gettime", clock_gettimeFunc<X86Linux64> },
 
  279     { 229, 
"clock_getres", clock_getresFunc<X86Linux64> },
 
  280     { 230, 
"clock_nanosleep" },
 
  282     { 232, 
"epoll_wait" },
 
  283     { 233, 
"epoll_ctl" },
 
  284     { 234, 
"tgkill", tgkillFunc<X86Linux64> },
 
  288     { 238, 
"set_mempolicy" },
 
  291     { 241, 
"mq_unlink" },
 
  292     { 242, 
"mq_timedsend" },
 
  293     { 243, 
"mq_timedreceive" },
 
  294     { 244, 
"mq_notify" },
 
  295     { 245, 
"mq_getsetattr" },
 
  296     { 246, 
"kexec_load" },
 
  299     { 249, 
"request_key" },
 
  301     { 251, 
"ioprio_set" },
 
  302     { 252, 
"ioprio_get" },
 
  303     { 253, 
"inotify_init" },
 
  304     { 254, 
"inotify_add_watch" },
 
  305     { 255, 
"inotify_rm_watch" },
 
  306     { 256, 
"migrate_pages" },
 
  307     { 257, 
"openat", openatFunc<X86Linux64> },
 
  311     { 261, 
"futimesat" },
 
  312     { 262, 
"newfstatat" },
 
  316     { 266, 
"symlinkat" },
 
  319     { 269, 
"faccessat" },
 
  324     { 274, 
"get_robust_list" },
 
  327     { 277, 
"sync_file_range" },
 
  329     { 279, 
"move_pages" },
 
  330     { 280, 
"utimensat" },
 
  331     { 281, 
"epoll_pwait" },
 
  333     { 283, 
"timerfd_create" },
 
  334     { 284, 
"eventfd", eventfdFunc<X86Linux64> },
 
  336     { 286, 
"timerfd_settime" },
 
  337     { 287, 
"timerfd_gettime" },
 
  339     { 289, 
"signalfd4" },
 
  340     { 290, 
"eventfd2", eventfdFunc<X86Linux64> },
 
  341     { 291, 
"epoll_create1" },
 
  344     { 294, 
"inotify_init1" },
 
  347     { 297, 
"rt_tgsigqueueinfo" },
 
  348     { 298, 
"perf_event_open" },
 
  350     { 300, 
"fanotify_init" },
 
  351     { 301, 
"fanotify_mark" },
 
  352     { 302, 
"prlimit64", prlimitFunc<X86Linux64> },
 
  353     { 303, 
"name_to_handle_at" },
 
  354     { 304, 
"open_by_handle_at" },
 
  355     { 305, 
"clock_adjtime" },
 
  360     { 310, 
"proess_vm_readv" },
 
  361     { 311, 
"proess_vm_writev" },
 
  363     { 313, 
"finit_module" },
 
  
SyscallReturn dupFunc(SyscallDesc *desc, ThreadContext *tc, int tgt_fd)
FIXME: The file description is not shared among file descriptors created with dup.
SyscallReturn chdirFunc(SyscallDesc *desc, ThreadContext *tc, VPtr<> pathname)
Target chdir() handler.
SyscallReturn listenFunc(SyscallDesc *desc, ThreadContext *tc, int tgt_fd, int backlog)
SyscallReturn getuidFunc(SyscallDesc *desc, ThreadContext *tc)
SyscallReturn getsockoptFunc(SyscallDesc *desc, ThreadContext *tc, int tgt_fd, int level, int optname, VPtr<> valPtr, VPtr<> lenPtr)
SyscallReturn getpgrpFunc(SyscallDesc *desc, ThreadContext *tc)
Target getpgrpFunc() handler.
SyscallReturn archPrctlFunc(SyscallDesc *desc, ThreadContext *tc, int code, uint64_t addr)
SyscallReturn unameFunc(SyscallDesc *desc, ThreadContext *tc, VPtr< Linux::utsname > name)
Target uname() handler.
SyscallReturn bindFunc(SyscallDesc *desc, ThreadContext *tc, int tgt_fd, VPtr<> buf_ptr, int addrlen)
SyscallReturn fallocateFunc(SyscallDesc *desc, ThreadContext *tc, int tgt_fd, int mode, off_t offset, off_t len)
static SyscallDescTable< SyscallABI64 > syscallDescs64
SyscallReturn mkdirFunc(SyscallDesc *desc, ThreadContext *tc, VPtr<> pathname, mode_t mode)
Target mkdir() handler.
SyscallReturn getcwdFunc(SyscallDesc *desc, ThreadContext *tc, VPtr<> buf_ptr, unsigned long size)
Target getcwd() handler.
SyscallReturn brkFunc(SyscallDesc *desc, ThreadContext *tc, VPtr<> new_brk)
Target brk() handler: set brk address.
SyscallReturn ignoreWarnOnceFunc(SyscallDesc *desc, ThreadContext *tc)
Like above, but only prints a warning once per syscall desc it's used with.
SyscallReturn closeFunc(SyscallDesc *desc, ThreadContext *tc, int tgt_fd)
Target close() handler.
SyscallReturn getcpuFunc(SyscallDesc *desc, ThreadContext *tc, VPtr< uint32_t > cpu, VPtr< uint32_t > node, VPtr< uint32_t > tcache)
SyscallReturn umaskFunc(SyscallDesc *desc, ThreadContext *tc)
Target umask() handler.
SyscallReturn setpgidFunc(SyscallDesc *desc, ThreadContext *tc, int pid, int pgid)
Target setpgid() handler.
SyscallReturn exitGroupFunc(SyscallDesc *desc, ThreadContext *tc, int status)
Target exit_group() handler: terminate simulation. (exit all threads)
SyscallReturn getsocknameFunc(SyscallDesc *desc, ThreadContext *tc, int tgt_fd, VPtr<> addrPtr, VPtr<> lenPtr)
SyscallReturn symlinkFunc(SyscallDesc *desc, ThreadContext *tc, VPtr<> pathname, VPtr<> new_pathname)
Target symlink() handler.
SyscallReturn unlinkFunc(SyscallDesc *desc, ThreadContext *tc, VPtr<> pathname)
Target unlink() handler.
SyscallReturn getgidFunc(SyscallDesc *desc, ThreadContext *tc)
Target getgid() handler.
SyscallReturn truncateFunc(SyscallDesc *desc, ThreadContext *tc, VPtr<> pathname, off_t length)
Target truncate() handler.
SyscallReturn getegidFunc(SyscallDesc *desc, ThreadContext *tc)
Target getegid() handler.
SyscallReturn munmapFunc(SyscallDesc *desc, ThreadContext *tc, VPtr<> start, size_t length)
Target munmap() handler.
SyscallReturn pipeFunc(SyscallDesc *desc, ThreadContext *tc, VPtr<> tgt_addr)
Target pipe() handler.
SyscallReturn gettidFunc(SyscallDesc *desc, ThreadContext *tc)
Target gettid() handler.
SyscallReturn setTidAddressFunc(SyscallDesc *desc, ThreadContext *tc, uint64_t tidPtr)
Target set_tid_address() handler.
SyscallReturn fcntlFunc(SyscallDesc *desc, ThreadContext *tc, int tgt_fd, int cmd, guest_abi::VarArgs< int > varargs)
Target fcntl() handler.
SyscallReturn readlinkFunc(SyscallDesc *desc, ThreadContext *tc, VPtr<> pathname, VPtr<> buf_ptr, size_t bufsiz)
Target readlink() handler.
SyscallReturn connectFunc(SyscallDesc *desc, ThreadContext *tc, int tgt_fd, VPtr<> buf_ptr, int addrlen)
SyscallReturn linkFunc(SyscallDesc *desc, ThreadContext *tc, VPtr<> pathname, VPtr<> new_pathname)
Target link() handler.
SyscallReturn pipe2Func(SyscallDesc *desc, ThreadContext *tc, VPtr<> tgt_addr, int flags)
Target pipe() handler.
SyscallReturn sendmsgFunc(SyscallDesc *desc, ThreadContext *tc, int tgt_fd, VPtr<> msgPtr, int flags)
SyscallReturn recvmsgFunc(SyscallDesc *desc, ThreadContext *tc, int tgt_fd, VPtr<> msgPtr, int flags)
SyscallReturn ftruncateFunc(SyscallDesc *desc, ThreadContext *tc, int tgt_fd, off_t length)
Target ftruncate() handler.
SyscallReturn exitFunc(SyscallDesc *desc, ThreadContext *tc, int status)
Target exit() handler: terminate current context.
SyscallReturn shutdownFunc(SyscallDesc *desc, ThreadContext *tc, int tgt_fd, int how)
Target shutdown() handler.
SyscallReturn rmdirFunc(SyscallDesc *desc, ThreadContext *tc, VPtr<> pathname)
SyscallReturn recvfromFunc(SyscallDesc *desc, ThreadContext *tc, int tgt_fd, VPtr<> bufrPtr, size_t bufrLen, int flags, VPtr<> addrPtr, VPtr<> addrlenPtr)
SyscallReturn getppidFunc(SyscallDesc *desc, ThreadContext *tc)
Target getppid() handler.
SyscallReturn renameFunc(SyscallDesc *desc, ThreadContext *tc, VPtr<> oldpath, VPtr<> newpath)
Target rename() handler.
SyscallReturn setsockoptFunc(SyscallDesc *desc, ThreadContext *tc, int tgt_fd, int level, int optname, VPtr<> valPtr, socklen_t len)
SyscallReturn ignoreFunc(SyscallDesc *desc, ThreadContext *tc)
Handler for unimplemented syscalls that we never intend to implement (signal handling,...
SyscallReturn getpidFunc(SyscallDesc *desc, ThreadContext *tc)
Target getpid() handler.
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
SyscallReturn dup2Func(SyscallDesc *desc, ThreadContext *tc, int old_tgt_fd, int new_tgt_fd)
Target dup2() handler.
SyscallReturn mknodFunc(SyscallDesc *desc, ThreadContext *tc, VPtr<> pathname, mode_t mode, dev_t dev)
Target mknod() handler.
SyscallReturn geteuidFunc(SyscallDesc *desc, ThreadContext *tc)
Target geteuid() handler.
SyscallReturn lseekFunc(SyscallDesc *desc, ThreadContext *tc, int tgt_fd, uint64_t offs, int whence)
Target lseek() handler.
SyscallReturn getpeernameFunc(SyscallDesc *desc, ThreadContext *tc, int tgt_fd, VPtr<> sockAddrPtr, VPtr<> addrlenPtr)
SyscallReturn sendtoFunc(SyscallDesc *desc, ThreadContext *tc, int tgt_fd, VPtr<> bufrPtr, size_t bufrLen, int flags, VPtr<> addrPtr, socklen_t addrLen)
Generated on Tue Sep 21 2021 12:24:51 for gem5 by  doxygen 1.8.17