process.cc revision 13634
111723Sar4jc@virginia.edu/* 211723Sar4jc@virginia.edu * Copyright (c) 2005 The Regents of The University of Michigan 311723Sar4jc@virginia.edu * Copyright (c) 2007 MIPS Technologies, Inc. 411723Sar4jc@virginia.edu * Copyright (c) 2016 The University of Virginia 511723Sar4jc@virginia.edu * All rights reserved. 611723Sar4jc@virginia.edu * 711723Sar4jc@virginia.edu * Redistribution and use in source and binary forms, with or without 811723Sar4jc@virginia.edu * modification, are permitted provided that the following conditions are 911723Sar4jc@virginia.edu * met: redistributions of source code must retain the above copyright 1011723Sar4jc@virginia.edu * notice, this list of conditions and the following disclaimer; 1111723Sar4jc@virginia.edu * redistributions in binary form must reproduce the above copyright 1211723Sar4jc@virginia.edu * notice, this list of conditions and the following disclaimer in the 1311723Sar4jc@virginia.edu * documentation and/or other materials provided with the distribution; 1411723Sar4jc@virginia.edu * neither the name of the copyright holders nor the names of its 1511723Sar4jc@virginia.edu * contributors may be used to endorse or promote products derived from 1611723Sar4jc@virginia.edu * this software without specific prior written permission. 1711723Sar4jc@virginia.edu * 1811723Sar4jc@virginia.edu * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 1911723Sar4jc@virginia.edu * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 2011723Sar4jc@virginia.edu * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 2111723Sar4jc@virginia.edu * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 2211723Sar4jc@virginia.edu * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 2311723Sar4jc@virginia.edu * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 2411723Sar4jc@virginia.edu * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 2511723Sar4jc@virginia.edu * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 2611723Sar4jc@virginia.edu * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 2711723Sar4jc@virginia.edu * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 2811723Sar4jc@virginia.edu * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 2911723Sar4jc@virginia.edu * 3011723Sar4jc@virginia.edu * Authors: Gabe Black 3111723Sar4jc@virginia.edu * Korey Sewell 3211723Sar4jc@virginia.edu * Alec Roelke 3311723Sar4jc@virginia.edu */ 3411723Sar4jc@virginia.edu 3511723Sar4jc@virginia.edu#include "arch/riscv/linux/process.hh" 3611723Sar4jc@virginia.edu 3711723Sar4jc@virginia.edu#include <map> 3811723Sar4jc@virginia.edu 3911723Sar4jc@virginia.edu#include "arch/riscv/isa_traits.hh" 4011723Sar4jc@virginia.edu#include "arch/riscv/linux/linux.hh" 4111723Sar4jc@virginia.edu#include "base/trace.hh" 4211723Sar4jc@virginia.edu#include "cpu/thread_context.hh" 4311723Sar4jc@virginia.edu#include "debug/SyscallVerbose.hh" 4411723Sar4jc@virginia.edu#include "kern/linux/linux.hh" 4511723Sar4jc@virginia.edu#include "sim/eventq.hh" 4611723Sar4jc@virginia.edu#include "sim/process.hh" 4711794Sbrandon.potter@amd.com#include "sim/syscall_desc.hh" 4811723Sar4jc@virginia.edu#include "sim/syscall_emul.hh" 4911723Sar4jc@virginia.edu#include "sim/system.hh" 5011723Sar4jc@virginia.edu 5111723Sar4jc@virginia.eduusing namespace std; 5211723Sar4jc@virginia.eduusing namespace RiscvISA; 5311723Sar4jc@virginia.edu 5411723Sar4jc@virginia.edu/// Target uname() handler. 5511723Sar4jc@virginia.edustatic SyscallReturn 5613634Saustinharris@utexas.eduunameFunc64(SyscallDesc *desc, int callnum, Process *process, 5711723Sar4jc@virginia.edu ThreadContext *tc) 5811723Sar4jc@virginia.edu{ 5911723Sar4jc@virginia.edu int index = 0; 6011723Sar4jc@virginia.edu TypedBufferArg<Linux::utsname> name(process->getSyscallArg(tc, index)); 6111723Sar4jc@virginia.edu 6211723Sar4jc@virginia.edu strcpy(name->sysname, "Linux"); 6311723Sar4jc@virginia.edu strcpy(name->nodename,"sim.gem5.org"); 6411723Sar4jc@virginia.edu strcpy(name->release, "3.0.0"); 6511723Sar4jc@virginia.edu strcpy(name->version, "#1 Mon Aug 18 11:32:15 EDT 2003"); 6613634Saustinharris@utexas.edu strcpy(name->machine, "riscv64"); 6711723Sar4jc@virginia.edu 6811723Sar4jc@virginia.edu name.copyOut(tc->getMemProxy()); 6911723Sar4jc@virginia.edu return 0; 7011723Sar4jc@virginia.edu} 7111723Sar4jc@virginia.edu 7213634Saustinharris@utexas.edu/// Target uname() handler. 7313634Saustinharris@utexas.edustatic SyscallReturn 7413634Saustinharris@utexas.eduunameFunc32(SyscallDesc *desc, int callnum, Process *process, 7513634Saustinharris@utexas.edu ThreadContext *tc) 7613634Saustinharris@utexas.edu{ 7713634Saustinharris@utexas.edu int index = 0; 7813634Saustinharris@utexas.edu TypedBufferArg<Linux::utsname> name(process->getSyscallArg(tc, index)); 7913634Saustinharris@utexas.edu 8013634Saustinharris@utexas.edu strcpy(name->sysname, "Linux"); 8113634Saustinharris@utexas.edu strcpy(name->nodename,"sim.gem5.org"); 8213634Saustinharris@utexas.edu strcpy(name->release, "3.0.0"); 8313634Saustinharris@utexas.edu strcpy(name->version, "#1 Mon Aug 18 11:32:15 EDT 2003"); 8413634Saustinharris@utexas.edu strcpy(name->machine, "riscv32"); 8513634Saustinharris@utexas.edu 8613634Saustinharris@utexas.edu name.copyOut(tc->getMemProxy()); 8713634Saustinharris@utexas.edu return 0; 8813634Saustinharris@utexas.edu} 8913634Saustinharris@utexas.edu 9013634Saustinharris@utexas.edustd::map<int, SyscallDesc> RiscvLinuxProcess64::syscallDescs = { 9112297Sar4jc@virginia.edu {0, SyscallDesc("io_setup")}, 9212297Sar4jc@virginia.edu {1, SyscallDesc("io_destroy")}, 9312297Sar4jc@virginia.edu {2, SyscallDesc("io_submit")}, 9412297Sar4jc@virginia.edu {3, SyscallDesc("io_cancel")}, 9512297Sar4jc@virginia.edu {4, SyscallDesc("io_getevents")}, 9612297Sar4jc@virginia.edu {5, SyscallDesc("setxattr")}, 9712297Sar4jc@virginia.edu {6, SyscallDesc("lsetxattr")}, 9812297Sar4jc@virginia.edu {7, SyscallDesc("fsetxattr")}, 9912297Sar4jc@virginia.edu {8, SyscallDesc("getxattr")}, 10012297Sar4jc@virginia.edu {9, SyscallDesc("lgetxattr")}, 10112297Sar4jc@virginia.edu {10, SyscallDesc("fgetxattr")}, 10212297Sar4jc@virginia.edu {11, SyscallDesc("listxattr")}, 10312297Sar4jc@virginia.edu {12, SyscallDesc("llistxattr")}, 10412297Sar4jc@virginia.edu {13, SyscallDesc("flistxattr")}, 10512297Sar4jc@virginia.edu {14, SyscallDesc("removexattr")}, 10612297Sar4jc@virginia.edu {15, SyscallDesc("lremovexattr")}, 10712297Sar4jc@virginia.edu {16, SyscallDesc("fremovexattr")}, 10812297Sar4jc@virginia.edu {17, SyscallDesc("getcwd", getcwdFunc)}, 10912297Sar4jc@virginia.edu {18, SyscallDesc("lookup_dcookie")}, 11012297Sar4jc@virginia.edu {19, SyscallDesc("eventfd2")}, 11112297Sar4jc@virginia.edu {20, SyscallDesc("epoll_create1")}, 11212297Sar4jc@virginia.edu {21, SyscallDesc("epoll_ctl")}, 11312297Sar4jc@virginia.edu {22, SyscallDesc("epoll_pwait")}, 11412297Sar4jc@virginia.edu {23, SyscallDesc("dup", dupFunc)}, 11512297Sar4jc@virginia.edu {24, SyscallDesc("dup3")}, 11612297Sar4jc@virginia.edu {25, SyscallDesc("fcntl", fcntl64Func)}, 11712297Sar4jc@virginia.edu {26, SyscallDesc("inotify_init1")}, 11812297Sar4jc@virginia.edu {27, SyscallDesc("inotify_add_watch")}, 11912297Sar4jc@virginia.edu {28, SyscallDesc("inotify_rm_watch")}, 12013634Saustinharris@utexas.edu {29, SyscallDesc("ioctl", ioctlFunc<RiscvLinux64>)}, 12112297Sar4jc@virginia.edu {30, SyscallDesc("ioprio_get")}, 12212297Sar4jc@virginia.edu {31, SyscallDesc("ioprio_set")}, 12312297Sar4jc@virginia.edu {32, SyscallDesc("flock")}, 12412297Sar4jc@virginia.edu {33, SyscallDesc("mknodat")}, 12512297Sar4jc@virginia.edu {34, SyscallDesc("mkdirat")}, 12613634Saustinharris@utexas.edu {35, SyscallDesc("unlinkat", unlinkatFunc<RiscvLinux64>)}, 12712297Sar4jc@virginia.edu {36, SyscallDesc("symlinkat")}, 12812297Sar4jc@virginia.edu {37, SyscallDesc("linkat")}, 12913634Saustinharris@utexas.edu {38, SyscallDesc("renameat", renameatFunc<RiscvLinux64>)}, 13012297Sar4jc@virginia.edu {39, SyscallDesc("umount2")}, 13112297Sar4jc@virginia.edu {40, SyscallDesc("mount")}, 13212297Sar4jc@virginia.edu {41, SyscallDesc("pivot_root")}, 13312297Sar4jc@virginia.edu {42, SyscallDesc("nfsservctl")}, 13413634Saustinharris@utexas.edu {43, SyscallDesc("statfs", statfsFunc<RiscvLinux64>)}, 13513634Saustinharris@utexas.edu {44, SyscallDesc("fstatfs", fstatfsFunc<RiscvLinux64>)}, 13612297Sar4jc@virginia.edu {45, SyscallDesc("truncate", truncateFunc)}, 13712297Sar4jc@virginia.edu {46, SyscallDesc("ftruncate", ftruncate64Func)}, 13812297Sar4jc@virginia.edu {47, SyscallDesc("fallocate", fallocateFunc)}, 13913634Saustinharris@utexas.edu {48, SyscallDesc("faccessat", faccessatFunc<RiscvLinux64>)}, 14012297Sar4jc@virginia.edu {49, SyscallDesc("chdir")}, 14112297Sar4jc@virginia.edu {50, SyscallDesc("fchdir")}, 14212297Sar4jc@virginia.edu {51, SyscallDesc("chroot")}, 14313634Saustinharris@utexas.edu {52, SyscallDesc("fchmod", fchmodFunc<RiscvLinux64>)}, 14412297Sar4jc@virginia.edu {53, SyscallDesc("fchmodat")}, 14512297Sar4jc@virginia.edu {54, SyscallDesc("fchownat")}, 14612297Sar4jc@virginia.edu {55, SyscallDesc("fchown", fchownFunc)}, 14713634Saustinharris@utexas.edu {56, SyscallDesc("openat", openatFunc<RiscvLinux64>)}, 14812297Sar4jc@virginia.edu {57, SyscallDesc("close", closeFunc)}, 14912297Sar4jc@virginia.edu {58, SyscallDesc("vhangup")}, 15012297Sar4jc@virginia.edu {59, SyscallDesc("pipe2")}, 15112297Sar4jc@virginia.edu {60, SyscallDesc("quotactl")}, 15212297Sar4jc@virginia.edu {61, SyscallDesc("getdents64")}, 15312297Sar4jc@virginia.edu {62, SyscallDesc("lseek", lseekFunc)}, 15413634Saustinharris@utexas.edu {63, SyscallDesc("read", readFunc<RiscvLinux64>)}, 15513634Saustinharris@utexas.edu {64, SyscallDesc("write", writeFunc<RiscvLinux64>)}, 15613634Saustinharris@utexas.edu {66, SyscallDesc("writev", writevFunc<RiscvLinux64>)}, 15712297Sar4jc@virginia.edu {67, SyscallDesc("pread64")}, 15813634Saustinharris@utexas.edu {68, SyscallDesc("pwrite64", pwrite64Func<RiscvLinux64>)}, 15912297Sar4jc@virginia.edu {69, SyscallDesc("preadv")}, 16012297Sar4jc@virginia.edu {70, SyscallDesc("pwritev")}, 16112297Sar4jc@virginia.edu {71, SyscallDesc("sendfile")}, 16212297Sar4jc@virginia.edu {72, SyscallDesc("pselect6")}, 16312297Sar4jc@virginia.edu {73, SyscallDesc("ppoll")}, 16412297Sar4jc@virginia.edu {74, SyscallDesc("signalfd64")}, 16512297Sar4jc@virginia.edu {75, SyscallDesc("vmsplice")}, 16612297Sar4jc@virginia.edu {76, SyscallDesc("splice")}, 16712297Sar4jc@virginia.edu {77, SyscallDesc("tee")}, 16813634Saustinharris@utexas.edu {78, SyscallDesc("readlinkat", readlinkatFunc<RiscvLinux64>)}, 16913634Saustinharris@utexas.edu {79, SyscallDesc("fstatat", fstatat64Func<RiscvLinux64>)}, 17013634Saustinharris@utexas.edu {80, SyscallDesc("fstat", fstat64Func<RiscvLinux64>)}, 17112297Sar4jc@virginia.edu {81, SyscallDesc("sync")}, 17212297Sar4jc@virginia.edu {82, SyscallDesc("fsync")}, 17312297Sar4jc@virginia.edu {83, SyscallDesc("fdatasync")}, 17412297Sar4jc@virginia.edu {84, SyscallDesc("sync_file_range2")}, 17512297Sar4jc@virginia.edu {85, SyscallDesc("timerfd_create")}, 17612297Sar4jc@virginia.edu {86, SyscallDesc("timerfd_settime")}, 17712297Sar4jc@virginia.edu {87, SyscallDesc("timerfd_gettime")}, 17812297Sar4jc@virginia.edu {88, SyscallDesc("utimensat")}, 17912297Sar4jc@virginia.edu {89, SyscallDesc("acct")}, 18012297Sar4jc@virginia.edu {90, SyscallDesc("capget")}, 18112297Sar4jc@virginia.edu {91, SyscallDesc("capset")}, 18212297Sar4jc@virginia.edu {92, SyscallDesc("personality")}, 18312297Sar4jc@virginia.edu {93, SyscallDesc("exit", exitFunc)}, 18412297Sar4jc@virginia.edu {94, SyscallDesc("exit_group", exitGroupFunc)}, 18512297Sar4jc@virginia.edu {95, SyscallDesc("waitid")}, 18612414Sqtt2@cornell.edu {96, SyscallDesc("set_tid_address", setTidAddressFunc)}, 18712297Sar4jc@virginia.edu {97, SyscallDesc("unshare")}, 18813634Saustinharris@utexas.edu {98, SyscallDesc("futex", futexFunc<RiscvLinux64>)}, 18912415Sqtt2@cornell.edu {99, SyscallDesc("set_robust_list", ignoreFunc, SyscallDesc::WarnOnce)}, 19012415Sqtt2@cornell.edu {100, SyscallDesc("get_robust_list", ignoreFunc, SyscallDesc::WarnOnce)}, 19112297Sar4jc@virginia.edu {101, SyscallDesc("nanosleep")}, 19212297Sar4jc@virginia.edu {102, SyscallDesc("getitimer")}, 19312297Sar4jc@virginia.edu {103, SyscallDesc("setitimer")}, 19412297Sar4jc@virginia.edu {104, SyscallDesc("kexec_load")}, 19512297Sar4jc@virginia.edu {105, SyscallDesc("init_module")}, 19612297Sar4jc@virginia.edu {106, SyscallDesc("delete_module")}, 19712297Sar4jc@virginia.edu {107, SyscallDesc("timer_create")}, 19812297Sar4jc@virginia.edu {108, SyscallDesc("timer_gettime")}, 19912297Sar4jc@virginia.edu {109, SyscallDesc("timer_getoverrun")}, 20012297Sar4jc@virginia.edu {110, SyscallDesc("timer_settime")}, 20112297Sar4jc@virginia.edu {111, SyscallDesc("timer_delete")}, 20212297Sar4jc@virginia.edu {112, SyscallDesc("clock_settime")}, 20313634Saustinharris@utexas.edu {113, SyscallDesc("clock_gettime", clock_gettimeFunc<RiscvLinux64>)}, 20413634Saustinharris@utexas.edu {114, SyscallDesc("clock_getres", clock_getresFunc<RiscvLinux64>)}, 20512297Sar4jc@virginia.edu {115, SyscallDesc("clock_nanosleep")}, 20612297Sar4jc@virginia.edu {116, SyscallDesc("syslog")}, 20712297Sar4jc@virginia.edu {117, SyscallDesc("ptrace")}, 20812297Sar4jc@virginia.edu {118, SyscallDesc("sched_setparam")}, 20912297Sar4jc@virginia.edu {119, SyscallDesc("sched_setscheduler")}, 21012297Sar4jc@virginia.edu {120, SyscallDesc("sched_getscheduler")}, 21112297Sar4jc@virginia.edu {121, SyscallDesc("sched_getparam")}, 21212297Sar4jc@virginia.edu {122, SyscallDesc("sched_setaffinity")}, 21312297Sar4jc@virginia.edu {123, SyscallDesc("sched_getaffinity")}, 21412417Sqtt2@cornell.edu {124, SyscallDesc("sched_yield", ignoreFunc, SyscallDesc::WarnOnce)}, 21512297Sar4jc@virginia.edu {125, SyscallDesc("sched_get_priority_max")}, 21612297Sar4jc@virginia.edu {126, SyscallDesc("sched_get_priority_min")}, 21712297Sar4jc@virginia.edu {127, SyscallDesc("scheD_rr_get_interval")}, 21812297Sar4jc@virginia.edu {128, SyscallDesc("restart_syscall")}, 21912297Sar4jc@virginia.edu {129, SyscallDesc("kill")}, 22012297Sar4jc@virginia.edu {130, SyscallDesc("tkill")}, 22113634Saustinharris@utexas.edu {131, SyscallDesc("tgkill", tgkillFunc<RiscvLinux64>)}, 22212297Sar4jc@virginia.edu {132, SyscallDesc("sigaltstack")}, 22312297Sar4jc@virginia.edu {133, SyscallDesc("rt_sigsuspend", ignoreFunc, SyscallDesc::WarnOnce)}, 22412297Sar4jc@virginia.edu {134, SyscallDesc("rt_sigaction", ignoreFunc, SyscallDesc::WarnOnce)}, 22512297Sar4jc@virginia.edu {135, SyscallDesc("rt_sigprocmask", ignoreFunc, SyscallDesc::WarnOnce)}, 22612297Sar4jc@virginia.edu {136, SyscallDesc("rt_sigpending", ignoreFunc, SyscallDesc::WarnOnce)}, 22712297Sar4jc@virginia.edu {137, SyscallDesc("rt_sigtimedwait", ignoreFunc,SyscallDesc::WarnOnce)}, 22812297Sar4jc@virginia.edu {138, SyscallDesc("rt_sigqueueinfo", ignoreFunc,SyscallDesc::WarnOnce)}, 22912297Sar4jc@virginia.edu {139, SyscallDesc("rt_sigreturn", ignoreFunc, SyscallDesc::WarnOnce)}, 23012297Sar4jc@virginia.edu {140, SyscallDesc("setpriority")}, 23112297Sar4jc@virginia.edu {141, SyscallDesc("getpriority")}, 23212297Sar4jc@virginia.edu {142, SyscallDesc("reboot")}, 23312297Sar4jc@virginia.edu {143, SyscallDesc("setregid")}, 23412297Sar4jc@virginia.edu {144, SyscallDesc("setgid")}, 23512297Sar4jc@virginia.edu {145, SyscallDesc("setreuid")}, 23612297Sar4jc@virginia.edu {146, SyscallDesc("setuid", setuidFunc)}, 23712297Sar4jc@virginia.edu {147, SyscallDesc("setresuid")}, 23812297Sar4jc@virginia.edu {148, SyscallDesc("getresuid")}, 23912297Sar4jc@virginia.edu {149, SyscallDesc("getresgid")}, 24012297Sar4jc@virginia.edu {150, SyscallDesc("getresgid")}, 24112297Sar4jc@virginia.edu {151, SyscallDesc("setfsuid")}, 24212297Sar4jc@virginia.edu {152, SyscallDesc("setfsgid")}, 24313634Saustinharris@utexas.edu {153, SyscallDesc("times", timesFunc<RiscvLinux64>)}, 24412297Sar4jc@virginia.edu {154, SyscallDesc("setpgid", setpgidFunc)}, 24512297Sar4jc@virginia.edu {155, SyscallDesc("getpgid")}, 24612297Sar4jc@virginia.edu {156, SyscallDesc("getsid")}, 24712297Sar4jc@virginia.edu {157, SyscallDesc("setsid")}, 24812297Sar4jc@virginia.edu {158, SyscallDesc("getgroups")}, 24912297Sar4jc@virginia.edu {159, SyscallDesc("setgroups")}, 25013634Saustinharris@utexas.edu {160, SyscallDesc("uname", unameFunc64)}, 25112297Sar4jc@virginia.edu {161, SyscallDesc("sethostname")}, 25212297Sar4jc@virginia.edu {162, SyscallDesc("setdomainname")}, 25313634Saustinharris@utexas.edu {163, SyscallDesc("getrlimit", getrlimitFunc<RiscvLinux64>)}, 25412297Sar4jc@virginia.edu {164, SyscallDesc("setrlimit", ignoreFunc)}, 25513634Saustinharris@utexas.edu {165, SyscallDesc("getrusage", getrusageFunc<RiscvLinux64>)}, 25612297Sar4jc@virginia.edu {166, SyscallDesc("umask", umaskFunc)}, 25712297Sar4jc@virginia.edu {167, SyscallDesc("prctl")}, 25812297Sar4jc@virginia.edu {168, SyscallDesc("getcpu")}, 25913634Saustinharris@utexas.edu {169, SyscallDesc("gettimeofday", gettimeofdayFunc<RiscvLinux64>)}, 26012297Sar4jc@virginia.edu {170, SyscallDesc("settimeofday")}, 26112297Sar4jc@virginia.edu {171, SyscallDesc("adjtimex")}, 26212297Sar4jc@virginia.edu {172, SyscallDesc("getpid", getpidFunc)}, 26312297Sar4jc@virginia.edu {173, SyscallDesc("getppid", getppidFunc)}, 26412297Sar4jc@virginia.edu {174, SyscallDesc("getuid", getuidFunc)}, 26512297Sar4jc@virginia.edu {175, SyscallDesc("geteuid", geteuidFunc)}, 26612297Sar4jc@virginia.edu {176, SyscallDesc("getgid", getgidFunc)}, 26712297Sar4jc@virginia.edu {177, SyscallDesc("getegid", getegidFunc)}, 26812297Sar4jc@virginia.edu {178, SyscallDesc("gettid", gettidFunc)}, 26913634Saustinharris@utexas.edu {179, SyscallDesc("sysinfo", sysinfoFunc<RiscvLinux64>)}, 27012297Sar4jc@virginia.edu {180, SyscallDesc("mq_open")}, 27112297Sar4jc@virginia.edu {181, SyscallDesc("mq_unlink")}, 27212297Sar4jc@virginia.edu {182, SyscallDesc("mq_timedsend")}, 27312297Sar4jc@virginia.edu {183, SyscallDesc("mq_timedrecieve")}, 27412297Sar4jc@virginia.edu {184, SyscallDesc("mq_notify")}, 27512297Sar4jc@virginia.edu {185, SyscallDesc("mq_getsetattr")}, 27612297Sar4jc@virginia.edu {186, SyscallDesc("msgget")}, 27712297Sar4jc@virginia.edu {187, SyscallDesc("msgctl")}, 27812297Sar4jc@virginia.edu {188, SyscallDesc("msgrcv")}, 27912297Sar4jc@virginia.edu {189, SyscallDesc("msgsnd")}, 28012297Sar4jc@virginia.edu {190, SyscallDesc("semget")}, 28112297Sar4jc@virginia.edu {191, SyscallDesc("semctl")}, 28212297Sar4jc@virginia.edu {192, SyscallDesc("semtimedop")}, 28312297Sar4jc@virginia.edu {193, SyscallDesc("semop")}, 28412297Sar4jc@virginia.edu {194, SyscallDesc("shmget")}, 28512297Sar4jc@virginia.edu {195, SyscallDesc("shmctl")}, 28612297Sar4jc@virginia.edu {196, SyscallDesc("shmat")}, 28712297Sar4jc@virginia.edu {197, SyscallDesc("shmdt")}, 28812297Sar4jc@virginia.edu {198, SyscallDesc("socket")}, 28912297Sar4jc@virginia.edu {199, SyscallDesc("socketpair")}, 29012297Sar4jc@virginia.edu {200, SyscallDesc("bind")}, 29112297Sar4jc@virginia.edu {201, SyscallDesc("listen")}, 29212297Sar4jc@virginia.edu {202, SyscallDesc("accept")}, 29312297Sar4jc@virginia.edu {203, SyscallDesc("connect")}, 29412297Sar4jc@virginia.edu {204, SyscallDesc("getsockname")}, 29512297Sar4jc@virginia.edu {205, SyscallDesc("getpeername")}, 29612297Sar4jc@virginia.edu {206, SyscallDesc("sendo")}, 29712297Sar4jc@virginia.edu {207, SyscallDesc("recvfrom")}, 29812297Sar4jc@virginia.edu {208, SyscallDesc("setsockopt")}, 29912297Sar4jc@virginia.edu {209, SyscallDesc("getsockopt")}, 30012297Sar4jc@virginia.edu {210, SyscallDesc("shutdown")}, 30112297Sar4jc@virginia.edu {211, SyscallDesc("sendmsg")}, 30212297Sar4jc@virginia.edu {212, SyscallDesc("recvmsg")}, 30312297Sar4jc@virginia.edu {213, SyscallDesc("readahead")}, 30412297Sar4jc@virginia.edu {214, SyscallDesc("brk", brkFunc)}, 30512297Sar4jc@virginia.edu {215, SyscallDesc("munmap", munmapFunc)}, 30613634Saustinharris@utexas.edu {216, SyscallDesc("mremap", mremapFunc<RiscvLinux64>)}, 30712297Sar4jc@virginia.edu {217, SyscallDesc("add_key")}, 30812297Sar4jc@virginia.edu {218, SyscallDesc("request_key")}, 30912297Sar4jc@virginia.edu {219, SyscallDesc("keyctl")}, 31013634Saustinharris@utexas.edu {220, SyscallDesc("clone", cloneFunc<RiscvLinux64>)}, 31113634Saustinharris@utexas.edu {221, SyscallDesc("execve", execveFunc<RiscvLinux64>)}, 31213634Saustinharris@utexas.edu {222, SyscallDesc("mmap", mmapFunc<RiscvLinux64>)}, 31312297Sar4jc@virginia.edu {223, SyscallDesc("fadvise64")}, 31412297Sar4jc@virginia.edu {224, SyscallDesc("swapon")}, 31512297Sar4jc@virginia.edu {225, SyscallDesc("swapoff")}, 31612297Sar4jc@virginia.edu {226, SyscallDesc("mprotect", ignoreFunc)}, 31712297Sar4jc@virginia.edu {227, SyscallDesc("msync", ignoreFunc)}, 31812297Sar4jc@virginia.edu {228, SyscallDesc("mlock", ignoreFunc)}, 31912297Sar4jc@virginia.edu {229, SyscallDesc("munlock", ignoreFunc)}, 32012297Sar4jc@virginia.edu {230, SyscallDesc("mlockall", ignoreFunc)}, 32112297Sar4jc@virginia.edu {231, SyscallDesc("munlockall", ignoreFunc)}, 32212297Sar4jc@virginia.edu {232, SyscallDesc("mincore", ignoreFunc)}, 32312297Sar4jc@virginia.edu {233, SyscallDesc("madvise", ignoreFunc)}, 32412297Sar4jc@virginia.edu {234, SyscallDesc("remap_file_pages")}, 32512297Sar4jc@virginia.edu {235, SyscallDesc("mbind", ignoreFunc)}, 32612297Sar4jc@virginia.edu {236, SyscallDesc("get_mempolicy")}, 32712297Sar4jc@virginia.edu {237, SyscallDesc("set_mempolicy")}, 32812297Sar4jc@virginia.edu {238, SyscallDesc("migrate_pages")}, 32912297Sar4jc@virginia.edu {239, SyscallDesc("move_pages")}, 33012297Sar4jc@virginia.edu {240, SyscallDesc("tgsigqueueinfo")}, 33112297Sar4jc@virginia.edu {241, SyscallDesc("perf_event_open")}, 33212297Sar4jc@virginia.edu {242, SyscallDesc("accept4")}, 33312297Sar4jc@virginia.edu {243, SyscallDesc("recvmmsg")}, 33412297Sar4jc@virginia.edu {260, SyscallDesc("wait4")}, 33513634Saustinharris@utexas.edu {261, SyscallDesc("prlimit64", prlimitFunc<RiscvLinux64>)}, 33612297Sar4jc@virginia.edu {262, SyscallDesc("fanotify_init")}, 33712297Sar4jc@virginia.edu {263, SyscallDesc("fanotify_mark")}, 33812297Sar4jc@virginia.edu {264, SyscallDesc("name_to_handle_at")}, 33912297Sar4jc@virginia.edu {265, SyscallDesc("open_by_handle_at")}, 34012297Sar4jc@virginia.edu {266, SyscallDesc("clock_adjtime")}, 34112297Sar4jc@virginia.edu {267, SyscallDesc("syncfs")}, 34212297Sar4jc@virginia.edu {268, SyscallDesc("setns")}, 34312297Sar4jc@virginia.edu {269, SyscallDesc("sendmmsg")}, 34412297Sar4jc@virginia.edu {270, SyscallDesc("process_vm_ready")}, 34512297Sar4jc@virginia.edu {271, SyscallDesc("process_vm_writev")}, 34612297Sar4jc@virginia.edu {272, SyscallDesc("kcmp")}, 34712297Sar4jc@virginia.edu {273, SyscallDesc("finit_module")}, 34812297Sar4jc@virginia.edu {274, SyscallDesc("sched_setattr")}, 34912297Sar4jc@virginia.edu {275, SyscallDesc("sched_getattr")}, 35012297Sar4jc@virginia.edu {276, SyscallDesc("renameat2")}, 35112297Sar4jc@virginia.edu {277, SyscallDesc("seccomp")}, 35212297Sar4jc@virginia.edu {278, SyscallDesc("getrandom")}, 35312297Sar4jc@virginia.edu {279, SyscallDesc("memfd_create")}, 35412297Sar4jc@virginia.edu {280, SyscallDesc("bpf")}, 35512297Sar4jc@virginia.edu {281, SyscallDesc("execveat")}, 35612297Sar4jc@virginia.edu {282, SyscallDesc("userfaultid")}, 35712297Sar4jc@virginia.edu {283, SyscallDesc("membarrier")}, 35812297Sar4jc@virginia.edu {284, SyscallDesc("mlock2")}, 35912297Sar4jc@virginia.edu {285, SyscallDesc("copy_file_range")}, 36012297Sar4jc@virginia.edu {286, SyscallDesc("preadv2")}, 36112297Sar4jc@virginia.edu {287, SyscallDesc("pwritev2")}, 36213634Saustinharris@utexas.edu {1024, SyscallDesc("open", openFunc<RiscvLinux64>)}, 36312297Sar4jc@virginia.edu {1025, SyscallDesc("link")}, 36411723Sar4jc@virginia.edu {1026, SyscallDesc("unlink", unlinkFunc)}, 36512297Sar4jc@virginia.edu {1027, SyscallDesc("mknod")}, 36613634Saustinharris@utexas.edu {1028, SyscallDesc("chmod", chmodFunc<RiscvLinux64>)}, 36712297Sar4jc@virginia.edu {1029, SyscallDesc("chown", chownFunc)}, 36811723Sar4jc@virginia.edu {1030, SyscallDesc("mkdir", mkdirFunc)}, 36912297Sar4jc@virginia.edu {1031, SyscallDesc("rmdir")}, 37012297Sar4jc@virginia.edu {1032, SyscallDesc("lchown")}, 37111723Sar4jc@virginia.edu {1033, SyscallDesc("access", accessFunc)}, 37212297Sar4jc@virginia.edu {1034, SyscallDesc("rename", renameFunc)}, 37312297Sar4jc@virginia.edu {1035, SyscallDesc("readlink", readlinkFunc)}, 37412297Sar4jc@virginia.edu {1036, SyscallDesc("symlink")}, 37513634Saustinharris@utexas.edu {1037, SyscallDesc("utimes", utimesFunc<RiscvLinux64>)}, 37613634Saustinharris@utexas.edu {1038, SyscallDesc("stat", stat64Func<RiscvLinux64>)}, 37713634Saustinharris@utexas.edu {1039, SyscallDesc("lstat", lstat64Func<RiscvLinux64>)}, 37812297Sar4jc@virginia.edu {1040, SyscallDesc("pipe", pipeFunc)}, 37912297Sar4jc@virginia.edu {1041, SyscallDesc("dup2", dup2Func)}, 38012297Sar4jc@virginia.edu {1042, SyscallDesc("epoll_create")}, 38112297Sar4jc@virginia.edu {1043, SyscallDesc("inotifiy_init")}, 38212297Sar4jc@virginia.edu {1044, SyscallDesc("eventfd")}, 38312297Sar4jc@virginia.edu {1045, SyscallDesc("signalfd")}, 38412297Sar4jc@virginia.edu {1046, SyscallDesc("sendfile")}, 38512297Sar4jc@virginia.edu {1047, SyscallDesc("ftruncate", ftruncate64Func)}, 38612297Sar4jc@virginia.edu {1048, SyscallDesc("truncate", truncate64Func)}, 38713634Saustinharris@utexas.edu {1049, SyscallDesc("stat", stat64Func<RiscvLinux64>)}, 38813634Saustinharris@utexas.edu {1050, SyscallDesc("lstat", lstat64Func<RiscvLinux64>)}, 38913634Saustinharris@utexas.edu {1051, SyscallDesc("fstat", fstat64Func<RiscvLinux64>)}, 39012297Sar4jc@virginia.edu {1052, SyscallDesc("fcntl", fcntl64Func)}, 39112297Sar4jc@virginia.edu {1053, SyscallDesc("fadvise64")}, 39212297Sar4jc@virginia.edu {1054, SyscallDesc("newfstatat")}, 39313634Saustinharris@utexas.edu {1055, SyscallDesc("fstatfs", fstatfsFunc<RiscvLinux64>)}, 39413634Saustinharris@utexas.edu {1056, SyscallDesc("statfs", statfsFunc<RiscvLinux64>)}, 39512297Sar4jc@virginia.edu {1057, SyscallDesc("lseek", lseekFunc)}, 39613634Saustinharris@utexas.edu {1058, SyscallDesc("mmap", mmapFunc<RiscvLinux64>)}, 39712297Sar4jc@virginia.edu {1059, SyscallDesc("alarm")}, 39812297Sar4jc@virginia.edu {1060, SyscallDesc("getpgrp")}, 39912297Sar4jc@virginia.edu {1061, SyscallDesc("pause")}, 40013634Saustinharris@utexas.edu {1062, SyscallDesc("time", timeFunc<RiscvLinux64>)}, 40112297Sar4jc@virginia.edu {1063, SyscallDesc("utime")}, 40212297Sar4jc@virginia.edu {1064, SyscallDesc("creat")}, 40312297Sar4jc@virginia.edu {1065, SyscallDesc("getdents")}, 40412297Sar4jc@virginia.edu {1066, SyscallDesc("futimesat")}, 40512297Sar4jc@virginia.edu {1067, SyscallDesc("select")}, 40612297Sar4jc@virginia.edu {1068, SyscallDesc("poll")}, 40712297Sar4jc@virginia.edu {1069, SyscallDesc("epoll_wait")}, 40812297Sar4jc@virginia.edu {1070, SyscallDesc("ustat")}, 40912297Sar4jc@virginia.edu {1071, SyscallDesc("vfork")}, 41012297Sar4jc@virginia.edu {1072, SyscallDesc("oldwait4")}, 41112297Sar4jc@virginia.edu {1073, SyscallDesc("recv")}, 41212297Sar4jc@virginia.edu {1074, SyscallDesc("send")}, 41312297Sar4jc@virginia.edu {1075, SyscallDesc("bdflush")}, 41412297Sar4jc@virginia.edu {1076, SyscallDesc("umount")}, 41512297Sar4jc@virginia.edu {1077, SyscallDesc("uselib")}, 41612297Sar4jc@virginia.edu {1078, SyscallDesc("sysctl")}, 41712297Sar4jc@virginia.edu {1079, SyscallDesc("fork")}, 41812297Sar4jc@virginia.edu {2011, SyscallDesc("getmainvars")} 41911723Sar4jc@virginia.edu}; 42011723Sar4jc@virginia.edu 42113634Saustinharris@utexas.edustd::map<int, SyscallDesc> RiscvLinuxProcess32::syscallDescs = { 42213634Saustinharris@utexas.edu {0, SyscallDesc("io_setup")}, 42313634Saustinharris@utexas.edu {1, SyscallDesc("io_destroy")}, 42413634Saustinharris@utexas.edu {2, SyscallDesc("io_submit")}, 42513634Saustinharris@utexas.edu {3, SyscallDesc("io_cancel")}, 42613634Saustinharris@utexas.edu {4, SyscallDesc("io_getevents")}, 42713634Saustinharris@utexas.edu {5, SyscallDesc("setxattr")}, 42813634Saustinharris@utexas.edu {6, SyscallDesc("lsetxattr")}, 42913634Saustinharris@utexas.edu {7, SyscallDesc("fsetxattr")}, 43013634Saustinharris@utexas.edu {8, SyscallDesc("getxattr")}, 43113634Saustinharris@utexas.edu {9, SyscallDesc("lgetxattr")}, 43213634Saustinharris@utexas.edu {10, SyscallDesc("fgetxattr")}, 43313634Saustinharris@utexas.edu {11, SyscallDesc("listxattr")}, 43413634Saustinharris@utexas.edu {12, SyscallDesc("llistxattr")}, 43513634Saustinharris@utexas.edu {13, SyscallDesc("flistxattr")}, 43613634Saustinharris@utexas.edu {14, SyscallDesc("removexattr")}, 43713634Saustinharris@utexas.edu {15, SyscallDesc("lremovexattr")}, 43813634Saustinharris@utexas.edu {16, SyscallDesc("fremovexattr")}, 43913634Saustinharris@utexas.edu {17, SyscallDesc("getcwd", getcwdFunc)}, 44013634Saustinharris@utexas.edu {18, SyscallDesc("lookup_dcookie")}, 44113634Saustinharris@utexas.edu {19, SyscallDesc("eventfd2")}, 44213634Saustinharris@utexas.edu {20, SyscallDesc("epoll_create1")}, 44313634Saustinharris@utexas.edu {21, SyscallDesc("epoll_ctl")}, 44413634Saustinharris@utexas.edu {22, SyscallDesc("epoll_pwait")}, 44513634Saustinharris@utexas.edu {23, SyscallDesc("dup", dupFunc)}, 44613634Saustinharris@utexas.edu {24, SyscallDesc("dup3")}, 44713634Saustinharris@utexas.edu {25, SyscallDesc("fcntl", fcntlFunc)}, 44813634Saustinharris@utexas.edu {26, SyscallDesc("inotify_init1")}, 44913634Saustinharris@utexas.edu {27, SyscallDesc("inotify_add_watch")}, 45013634Saustinharris@utexas.edu {28, SyscallDesc("inotify_rm_watch")}, 45113634Saustinharris@utexas.edu {29, SyscallDesc("ioctl", ioctlFunc<RiscvLinux32>)}, 45213634Saustinharris@utexas.edu {30, SyscallDesc("ioprio_get")}, 45313634Saustinharris@utexas.edu {31, SyscallDesc("ioprio_set")}, 45413634Saustinharris@utexas.edu {32, SyscallDesc("flock")}, 45513634Saustinharris@utexas.edu {33, SyscallDesc("mknodat")}, 45613634Saustinharris@utexas.edu {34, SyscallDesc("mkdirat")}, 45713634Saustinharris@utexas.edu {35, SyscallDesc("unlinkat", unlinkatFunc<RiscvLinux32>)}, 45813634Saustinharris@utexas.edu {36, SyscallDesc("symlinkat")}, 45913634Saustinharris@utexas.edu {37, SyscallDesc("linkat")}, 46013634Saustinharris@utexas.edu {38, SyscallDesc("renameat", renameatFunc<RiscvLinux32>)}, 46113634Saustinharris@utexas.edu {39, SyscallDesc("umount2")}, 46213634Saustinharris@utexas.edu {40, SyscallDesc("mount")}, 46313634Saustinharris@utexas.edu {41, SyscallDesc("pivot_root")}, 46413634Saustinharris@utexas.edu {42, SyscallDesc("nfsservctl")}, 46513634Saustinharris@utexas.edu {43, SyscallDesc("statfs", statfsFunc<RiscvLinux32>)}, 46613634Saustinharris@utexas.edu {44, SyscallDesc("fstatfs", fstatfsFunc<RiscvLinux32>)}, 46713634Saustinharris@utexas.edu {45, SyscallDesc("truncate", truncateFunc)}, 46813634Saustinharris@utexas.edu {46, SyscallDesc("ftruncate", ftruncateFunc)}, 46913634Saustinharris@utexas.edu {47, SyscallDesc("fallocate", fallocateFunc)}, 47013634Saustinharris@utexas.edu {48, SyscallDesc("faccessat", faccessatFunc<RiscvLinux32>)}, 47113634Saustinharris@utexas.edu {49, SyscallDesc("chdir")}, 47213634Saustinharris@utexas.edu {50, SyscallDesc("fchdir")}, 47313634Saustinharris@utexas.edu {51, SyscallDesc("chroot")}, 47413634Saustinharris@utexas.edu {52, SyscallDesc("fchmod", fchmodFunc<RiscvLinux32>)}, 47513634Saustinharris@utexas.edu {53, SyscallDesc("fchmodat")}, 47613634Saustinharris@utexas.edu {54, SyscallDesc("fchownat")}, 47713634Saustinharris@utexas.edu {55, SyscallDesc("fchown", fchownFunc)}, 47813634Saustinharris@utexas.edu {56, SyscallDesc("openat", openatFunc<RiscvLinux32>)}, 47913634Saustinharris@utexas.edu {57, SyscallDesc("close", closeFunc)}, 48013634Saustinharris@utexas.edu {58, SyscallDesc("vhangup")}, 48113634Saustinharris@utexas.edu {59, SyscallDesc("pipe2")}, 48213634Saustinharris@utexas.edu {60, SyscallDesc("quotactl")}, 48313634Saustinharris@utexas.edu {61, SyscallDesc("getdents64")}, 48413634Saustinharris@utexas.edu {62, SyscallDesc("lseek", lseekFunc)}, 48513634Saustinharris@utexas.edu {63, SyscallDesc("read", readFunc<RiscvLinux32>)}, 48613634Saustinharris@utexas.edu {64, SyscallDesc("write", writeFunc<RiscvLinux32>)}, 48713634Saustinharris@utexas.edu {66, SyscallDesc("writev", writevFunc<RiscvLinux32>)}, 48813634Saustinharris@utexas.edu {67, SyscallDesc("pread64")}, 48913634Saustinharris@utexas.edu {68, SyscallDesc("pwrite64", pwrite64Func<RiscvLinux32>)}, 49013634Saustinharris@utexas.edu {69, SyscallDesc("preadv")}, 49113634Saustinharris@utexas.edu {70, SyscallDesc("pwritev")}, 49213634Saustinharris@utexas.edu {71, SyscallDesc("sendfile")}, 49313634Saustinharris@utexas.edu {72, SyscallDesc("pselect6")}, 49413634Saustinharris@utexas.edu {73, SyscallDesc("ppoll")}, 49513634Saustinharris@utexas.edu {74, SyscallDesc("signalfd64")}, 49613634Saustinharris@utexas.edu {75, SyscallDesc("vmsplice")}, 49713634Saustinharris@utexas.edu {76, SyscallDesc("splice")}, 49813634Saustinharris@utexas.edu {77, SyscallDesc("tee")}, 49913634Saustinharris@utexas.edu {78, SyscallDesc("readlinkat", readlinkatFunc<RiscvLinux32>)}, 50013634Saustinharris@utexas.edu {79, SyscallDesc("fstatat")}, 50113634Saustinharris@utexas.edu {80, SyscallDesc("fstat", fstatFunc<RiscvLinux32>)}, 50213634Saustinharris@utexas.edu {81, SyscallDesc("sync")}, 50313634Saustinharris@utexas.edu {82, SyscallDesc("fsync")}, 50413634Saustinharris@utexas.edu {83, SyscallDesc("fdatasync")}, 50513634Saustinharris@utexas.edu {84, SyscallDesc("sync_file_range2")}, 50613634Saustinharris@utexas.edu {85, SyscallDesc("timerfd_create")}, 50713634Saustinharris@utexas.edu {86, SyscallDesc("timerfd_settime")}, 50813634Saustinharris@utexas.edu {87, SyscallDesc("timerfd_gettime")}, 50913634Saustinharris@utexas.edu {88, SyscallDesc("utimensat")}, 51013634Saustinharris@utexas.edu {89, SyscallDesc("acct")}, 51113634Saustinharris@utexas.edu {90, SyscallDesc("capget")}, 51213634Saustinharris@utexas.edu {91, SyscallDesc("capset")}, 51313634Saustinharris@utexas.edu {92, SyscallDesc("personality")}, 51413634Saustinharris@utexas.edu {93, SyscallDesc("exit", exitFunc)}, 51513634Saustinharris@utexas.edu {94, SyscallDesc("exit_group", exitGroupFunc)}, 51613634Saustinharris@utexas.edu {95, SyscallDesc("waitid")}, 51713634Saustinharris@utexas.edu {96, SyscallDesc("set_tid_address", setTidAddressFunc)}, 51813634Saustinharris@utexas.edu {97, SyscallDesc("unshare")}, 51913634Saustinharris@utexas.edu {98, SyscallDesc("futex", futexFunc<RiscvLinux32>)}, 52013634Saustinharris@utexas.edu {99, SyscallDesc("set_robust_list", ignoreFunc, SyscallDesc::WarnOnce)}, 52113634Saustinharris@utexas.edu {100, SyscallDesc("get_robust_list", ignoreFunc, SyscallDesc::WarnOnce)}, 52213634Saustinharris@utexas.edu {101, SyscallDesc("nanosleep")}, 52313634Saustinharris@utexas.edu {102, SyscallDesc("getitimer")}, 52413634Saustinharris@utexas.edu {103, SyscallDesc("setitimer")}, 52513634Saustinharris@utexas.edu {104, SyscallDesc("kexec_load")}, 52613634Saustinharris@utexas.edu {105, SyscallDesc("init_module")}, 52713634Saustinharris@utexas.edu {106, SyscallDesc("delete_module")}, 52813634Saustinharris@utexas.edu {107, SyscallDesc("timer_create")}, 52913634Saustinharris@utexas.edu {108, SyscallDesc("timer_gettime")}, 53013634Saustinharris@utexas.edu {109, SyscallDesc("timer_getoverrun")}, 53113634Saustinharris@utexas.edu {110, SyscallDesc("timer_settime")}, 53213634Saustinharris@utexas.edu {111, SyscallDesc("timer_delete")}, 53313634Saustinharris@utexas.edu {112, SyscallDesc("clock_settime")}, 53413634Saustinharris@utexas.edu {113, SyscallDesc("clock_gettime", clock_gettimeFunc<RiscvLinux32>)}, 53513634Saustinharris@utexas.edu {114, SyscallDesc("clock_getres", clock_getresFunc<RiscvLinux32>)}, 53613634Saustinharris@utexas.edu {115, SyscallDesc("clock_nanosleep")}, 53713634Saustinharris@utexas.edu {116, SyscallDesc("syslog")}, 53813634Saustinharris@utexas.edu {117, SyscallDesc("ptrace")}, 53913634Saustinharris@utexas.edu {118, SyscallDesc("sched_setparam")}, 54013634Saustinharris@utexas.edu {119, SyscallDesc("sched_setscheduler")}, 54113634Saustinharris@utexas.edu {120, SyscallDesc("sched_getscheduler")}, 54213634Saustinharris@utexas.edu {121, SyscallDesc("sched_getparam")}, 54313634Saustinharris@utexas.edu {122, SyscallDesc("sched_setaffinity")}, 54413634Saustinharris@utexas.edu {123, SyscallDesc("sched_getaffinity")}, 54513634Saustinharris@utexas.edu {124, SyscallDesc("sched_yield", ignoreFunc, SyscallDesc::WarnOnce)}, 54613634Saustinharris@utexas.edu {125, SyscallDesc("sched_get_priority_max")}, 54713634Saustinharris@utexas.edu {126, SyscallDesc("sched_get_priority_min")}, 54813634Saustinharris@utexas.edu {127, SyscallDesc("scheD_rr_get_interval")}, 54913634Saustinharris@utexas.edu {128, SyscallDesc("restart_syscall")}, 55013634Saustinharris@utexas.edu {129, SyscallDesc("kill")}, 55113634Saustinharris@utexas.edu {130, SyscallDesc("tkill")}, 55213634Saustinharris@utexas.edu {131, SyscallDesc("tgkill", tgkillFunc<RiscvLinux32>)}, 55313634Saustinharris@utexas.edu {132, SyscallDesc("sigaltstack")}, 55413634Saustinharris@utexas.edu {133, SyscallDesc("rt_sigsuspend", ignoreFunc, SyscallDesc::WarnOnce)}, 55513634Saustinharris@utexas.edu {134, SyscallDesc("rt_sigaction", ignoreFunc, SyscallDesc::WarnOnce)}, 55613634Saustinharris@utexas.edu {135, SyscallDesc("rt_sigprocmask", ignoreFunc, SyscallDesc::WarnOnce)}, 55713634Saustinharris@utexas.edu {136, SyscallDesc("rt_sigpending", ignoreFunc, SyscallDesc::WarnOnce)}, 55813634Saustinharris@utexas.edu {137, SyscallDesc("rt_sigtimedwait", ignoreFunc,SyscallDesc::WarnOnce)}, 55913634Saustinharris@utexas.edu {138, SyscallDesc("rt_sigqueueinfo", ignoreFunc,SyscallDesc::WarnOnce)}, 56013634Saustinharris@utexas.edu {139, SyscallDesc("rt_sigreturn", ignoreFunc, SyscallDesc::WarnOnce)}, 56113634Saustinharris@utexas.edu {140, SyscallDesc("setpriority")}, 56213634Saustinharris@utexas.edu {141, SyscallDesc("getpriority")}, 56313634Saustinharris@utexas.edu {142, SyscallDesc("reboot")}, 56413634Saustinharris@utexas.edu {143, SyscallDesc("setregid")}, 56513634Saustinharris@utexas.edu {144, SyscallDesc("setgid")}, 56613634Saustinharris@utexas.edu {145, SyscallDesc("setreuid")}, 56713634Saustinharris@utexas.edu {146, SyscallDesc("setuid", setuidFunc)}, 56813634Saustinharris@utexas.edu {147, SyscallDesc("setresuid")}, 56913634Saustinharris@utexas.edu {148, SyscallDesc("getresuid")}, 57013634Saustinharris@utexas.edu {149, SyscallDesc("getresgid")}, 57113634Saustinharris@utexas.edu {150, SyscallDesc("getresgid")}, 57213634Saustinharris@utexas.edu {151, SyscallDesc("setfsuid")}, 57313634Saustinharris@utexas.edu {152, SyscallDesc("setfsgid")}, 57413634Saustinharris@utexas.edu {153, SyscallDesc("times", timesFunc<RiscvLinux32>)}, 57513634Saustinharris@utexas.edu {154, SyscallDesc("setpgid", setpgidFunc)}, 57613634Saustinharris@utexas.edu {155, SyscallDesc("getpgid")}, 57713634Saustinharris@utexas.edu {156, SyscallDesc("getsid")}, 57813634Saustinharris@utexas.edu {157, SyscallDesc("setsid")}, 57913634Saustinharris@utexas.edu {158, SyscallDesc("getgroups")}, 58013634Saustinharris@utexas.edu {159, SyscallDesc("setgroups")}, 58113634Saustinharris@utexas.edu {160, SyscallDesc("uname", unameFunc32)}, 58213634Saustinharris@utexas.edu {161, SyscallDesc("sethostname")}, 58313634Saustinharris@utexas.edu {162, SyscallDesc("setdomainname")}, 58413634Saustinharris@utexas.edu {163, SyscallDesc("getrlimit", getrlimitFunc<RiscvLinux32>)}, 58513634Saustinharris@utexas.edu {164, SyscallDesc("setrlimit", ignoreFunc)}, 58613634Saustinharris@utexas.edu {165, SyscallDesc("getrusage", getrusageFunc<RiscvLinux32>)}, 58713634Saustinharris@utexas.edu {166, SyscallDesc("umask", umaskFunc)}, 58813634Saustinharris@utexas.edu {167, SyscallDesc("prctl")}, 58913634Saustinharris@utexas.edu {168, SyscallDesc("getcpu")}, 59013634Saustinharris@utexas.edu {169, SyscallDesc("gettimeofday", gettimeofdayFunc<RiscvLinux32>)}, 59113634Saustinharris@utexas.edu {170, SyscallDesc("settimeofday")}, 59213634Saustinharris@utexas.edu {171, SyscallDesc("adjtimex")}, 59313634Saustinharris@utexas.edu {172, SyscallDesc("getpid", getpidFunc)}, 59413634Saustinharris@utexas.edu {173, SyscallDesc("getppid", getppidFunc)}, 59513634Saustinharris@utexas.edu {174, SyscallDesc("getuid", getuidFunc)}, 59613634Saustinharris@utexas.edu {175, SyscallDesc("geteuid", geteuidFunc)}, 59713634Saustinharris@utexas.edu {176, SyscallDesc("getgid", getgidFunc)}, 59813634Saustinharris@utexas.edu {177, SyscallDesc("getegid", getegidFunc)}, 59913634Saustinharris@utexas.edu {178, SyscallDesc("gettid", gettidFunc)}, 60013634Saustinharris@utexas.edu {179, SyscallDesc("sysinfo", sysinfoFunc<RiscvLinux32>)}, 60113634Saustinharris@utexas.edu {180, SyscallDesc("mq_open")}, 60213634Saustinharris@utexas.edu {181, SyscallDesc("mq_unlink")}, 60313634Saustinharris@utexas.edu {182, SyscallDesc("mq_timedsend")}, 60413634Saustinharris@utexas.edu {183, SyscallDesc("mq_timedrecieve")}, 60513634Saustinharris@utexas.edu {184, SyscallDesc("mq_notify")}, 60613634Saustinharris@utexas.edu {185, SyscallDesc("mq_getsetattr")}, 60713634Saustinharris@utexas.edu {186, SyscallDesc("msgget")}, 60813634Saustinharris@utexas.edu {187, SyscallDesc("msgctl")}, 60913634Saustinharris@utexas.edu {188, SyscallDesc("msgrcv")}, 61013634Saustinharris@utexas.edu {189, SyscallDesc("msgsnd")}, 61113634Saustinharris@utexas.edu {190, SyscallDesc("semget")}, 61213634Saustinharris@utexas.edu {191, SyscallDesc("semctl")}, 61313634Saustinharris@utexas.edu {192, SyscallDesc("semtimedop")}, 61413634Saustinharris@utexas.edu {193, SyscallDesc("semop")}, 61513634Saustinharris@utexas.edu {194, SyscallDesc("shmget")}, 61613634Saustinharris@utexas.edu {195, SyscallDesc("shmctl")}, 61713634Saustinharris@utexas.edu {196, SyscallDesc("shmat")}, 61813634Saustinharris@utexas.edu {197, SyscallDesc("shmdt")}, 61913634Saustinharris@utexas.edu {198, SyscallDesc("socket")}, 62013634Saustinharris@utexas.edu {199, SyscallDesc("socketpair")}, 62113634Saustinharris@utexas.edu {200, SyscallDesc("bind")}, 62213634Saustinharris@utexas.edu {201, SyscallDesc("listen")}, 62313634Saustinharris@utexas.edu {202, SyscallDesc("accept")}, 62413634Saustinharris@utexas.edu {203, SyscallDesc("connect")}, 62513634Saustinharris@utexas.edu {204, SyscallDesc("getsockname")}, 62613634Saustinharris@utexas.edu {205, SyscallDesc("getpeername")}, 62713634Saustinharris@utexas.edu {206, SyscallDesc("sendo")}, 62813634Saustinharris@utexas.edu {207, SyscallDesc("recvfrom")}, 62913634Saustinharris@utexas.edu {208, SyscallDesc("setsockopt")}, 63013634Saustinharris@utexas.edu {209, SyscallDesc("getsockopt")}, 63113634Saustinharris@utexas.edu {210, SyscallDesc("shutdown")}, 63213634Saustinharris@utexas.edu {211, SyscallDesc("sendmsg")}, 63313634Saustinharris@utexas.edu {212, SyscallDesc("recvmsg")}, 63413634Saustinharris@utexas.edu {213, SyscallDesc("readahead")}, 63513634Saustinharris@utexas.edu {214, SyscallDesc("brk", brkFunc)}, 63613634Saustinharris@utexas.edu {215, SyscallDesc("munmap", munmapFunc)}, 63713634Saustinharris@utexas.edu {216, SyscallDesc("mremap", mremapFunc<RiscvLinux32>)}, 63813634Saustinharris@utexas.edu {217, SyscallDesc("add_key")}, 63913634Saustinharris@utexas.edu {218, SyscallDesc("request_key")}, 64013634Saustinharris@utexas.edu {219, SyscallDesc("keyctl")}, 64113634Saustinharris@utexas.edu {220, SyscallDesc("clone", cloneFunc<RiscvLinux32>)}, 64213634Saustinharris@utexas.edu {221, SyscallDesc("execve", execveFunc<RiscvLinux32>)}, 64313634Saustinharris@utexas.edu {222, SyscallDesc("mmap", mmapFunc<RiscvLinux32>)}, 64413634Saustinharris@utexas.edu {223, SyscallDesc("fadvise64")}, 64513634Saustinharris@utexas.edu {224, SyscallDesc("swapon")}, 64613634Saustinharris@utexas.edu {225, SyscallDesc("swapoff")}, 64713634Saustinharris@utexas.edu {226, SyscallDesc("mprotect", ignoreFunc)}, 64813634Saustinharris@utexas.edu {227, SyscallDesc("msync", ignoreFunc)}, 64913634Saustinharris@utexas.edu {228, SyscallDesc("mlock", ignoreFunc)}, 65013634Saustinharris@utexas.edu {229, SyscallDesc("munlock", ignoreFunc)}, 65113634Saustinharris@utexas.edu {230, SyscallDesc("mlockall", ignoreFunc)}, 65213634Saustinharris@utexas.edu {231, SyscallDesc("munlockall", ignoreFunc)}, 65313634Saustinharris@utexas.edu {232, SyscallDesc("mincore", ignoreFunc)}, 65413634Saustinharris@utexas.edu {233, SyscallDesc("madvise", ignoreFunc)}, 65513634Saustinharris@utexas.edu {234, SyscallDesc("remap_file_pages")}, 65613634Saustinharris@utexas.edu {235, SyscallDesc("mbind", ignoreFunc)}, 65713634Saustinharris@utexas.edu {236, SyscallDesc("get_mempolicy")}, 65813634Saustinharris@utexas.edu {237, SyscallDesc("set_mempolicy")}, 65913634Saustinharris@utexas.edu {238, SyscallDesc("migrate_pages")}, 66013634Saustinharris@utexas.edu {239, SyscallDesc("move_pages")}, 66113634Saustinharris@utexas.edu {240, SyscallDesc("tgsigqueueinfo")}, 66213634Saustinharris@utexas.edu {241, SyscallDesc("perf_event_open")}, 66313634Saustinharris@utexas.edu {242, SyscallDesc("accept4")}, 66413634Saustinharris@utexas.edu {243, SyscallDesc("recvmmsg")}, 66513634Saustinharris@utexas.edu {260, SyscallDesc("wait4")}, 66613634Saustinharris@utexas.edu {261, SyscallDesc("prlimit64", prlimitFunc<RiscvLinux32>)}, 66713634Saustinharris@utexas.edu {262, SyscallDesc("fanotify_init")}, 66813634Saustinharris@utexas.edu {263, SyscallDesc("fanotify_mark")}, 66913634Saustinharris@utexas.edu {264, SyscallDesc("name_to_handle_at")}, 67013634Saustinharris@utexas.edu {265, SyscallDesc("open_by_handle_at")}, 67113634Saustinharris@utexas.edu {266, SyscallDesc("clock_adjtime")}, 67213634Saustinharris@utexas.edu {267, SyscallDesc("syncfs")}, 67313634Saustinharris@utexas.edu {268, SyscallDesc("setns")}, 67413634Saustinharris@utexas.edu {269, SyscallDesc("sendmmsg")}, 67513634Saustinharris@utexas.edu {270, SyscallDesc("process_vm_ready")}, 67613634Saustinharris@utexas.edu {271, SyscallDesc("process_vm_writev")}, 67713634Saustinharris@utexas.edu {272, SyscallDesc("kcmp")}, 67813634Saustinharris@utexas.edu {273, SyscallDesc("finit_module")}, 67913634Saustinharris@utexas.edu {274, SyscallDesc("sched_setattr")}, 68013634Saustinharris@utexas.edu {275, SyscallDesc("sched_getattr")}, 68113634Saustinharris@utexas.edu {276, SyscallDesc("renameat2")}, 68213634Saustinharris@utexas.edu {277, SyscallDesc("seccomp")}, 68313634Saustinharris@utexas.edu {278, SyscallDesc("getrandom")}, 68413634Saustinharris@utexas.edu {279, SyscallDesc("memfd_create")}, 68513634Saustinharris@utexas.edu {280, SyscallDesc("bpf")}, 68613634Saustinharris@utexas.edu {281, SyscallDesc("execveat")}, 68713634Saustinharris@utexas.edu {282, SyscallDesc("userfaultid")}, 68813634Saustinharris@utexas.edu {283, SyscallDesc("membarrier")}, 68913634Saustinharris@utexas.edu {284, SyscallDesc("mlock2")}, 69013634Saustinharris@utexas.edu {285, SyscallDesc("copy_file_range")}, 69113634Saustinharris@utexas.edu {286, SyscallDesc("preadv2")}, 69213634Saustinharris@utexas.edu {287, SyscallDesc("pwritev2")}, 69313634Saustinharris@utexas.edu {1024, SyscallDesc("open", openFunc<RiscvLinux32>)}, 69413634Saustinharris@utexas.edu {1025, SyscallDesc("link")}, 69513634Saustinharris@utexas.edu {1026, SyscallDesc("unlink", unlinkFunc)}, 69613634Saustinharris@utexas.edu {1027, SyscallDesc("mknod")}, 69713634Saustinharris@utexas.edu {1028, SyscallDesc("chmod", chmodFunc<RiscvLinux32>)}, 69813634Saustinharris@utexas.edu {1029, SyscallDesc("chown", chownFunc)}, 69913634Saustinharris@utexas.edu {1030, SyscallDesc("mkdir", mkdirFunc)}, 70013634Saustinharris@utexas.edu {1031, SyscallDesc("rmdir")}, 70113634Saustinharris@utexas.edu {1032, SyscallDesc("lchown")}, 70213634Saustinharris@utexas.edu {1033, SyscallDesc("access", accessFunc)}, 70313634Saustinharris@utexas.edu {1034, SyscallDesc("rename", renameFunc)}, 70413634Saustinharris@utexas.edu {1035, SyscallDesc("readlink", readlinkFunc)}, 70513634Saustinharris@utexas.edu {1036, SyscallDesc("symlink")}, 70613634Saustinharris@utexas.edu {1037, SyscallDesc("utimes", utimesFunc<RiscvLinux32>)}, 70713634Saustinharris@utexas.edu {1038, SyscallDesc("stat", statFunc<RiscvLinux32>)}, 70813634Saustinharris@utexas.edu {1039, SyscallDesc("lstat", lstatFunc<RiscvLinux32>)}, 70913634Saustinharris@utexas.edu {1040, SyscallDesc("pipe", pipeFunc)}, 71013634Saustinharris@utexas.edu {1041, SyscallDesc("dup2", dup2Func)}, 71113634Saustinharris@utexas.edu {1042, SyscallDesc("epoll_create")}, 71213634Saustinharris@utexas.edu {1043, SyscallDesc("inotifiy_init")}, 71313634Saustinharris@utexas.edu {1044, SyscallDesc("eventfd")}, 71413634Saustinharris@utexas.edu {1045, SyscallDesc("signalfd")}, 71513634Saustinharris@utexas.edu {1046, SyscallDesc("sendfile")}, 71613634Saustinharris@utexas.edu {1047, SyscallDesc("ftruncate", ftruncateFunc)}, 71713634Saustinharris@utexas.edu {1048, SyscallDesc("truncate", truncateFunc)}, 71813634Saustinharris@utexas.edu {1049, SyscallDesc("stat", statFunc<RiscvLinux32>)}, 71913634Saustinharris@utexas.edu {1050, SyscallDesc("lstat", lstatFunc<RiscvLinux32>)}, 72013634Saustinharris@utexas.edu {1051, SyscallDesc("fstat", fstatFunc<RiscvLinux32>)}, 72113634Saustinharris@utexas.edu {1052, SyscallDesc("fcntl", fcntlFunc)}, 72213634Saustinharris@utexas.edu {1053, SyscallDesc("fadvise64")}, 72313634Saustinharris@utexas.edu {1054, SyscallDesc("newfstatat")}, 72413634Saustinharris@utexas.edu {1055, SyscallDesc("fstatfs", fstatfsFunc<RiscvLinux32>)}, 72513634Saustinharris@utexas.edu {1056, SyscallDesc("statfs", statfsFunc<RiscvLinux32>)}, 72613634Saustinharris@utexas.edu {1057, SyscallDesc("lseek", lseekFunc)}, 72713634Saustinharris@utexas.edu {1058, SyscallDesc("mmap", mmapFunc<RiscvLinux32>)}, 72813634Saustinharris@utexas.edu {1059, SyscallDesc("alarm")}, 72913634Saustinharris@utexas.edu {1060, SyscallDesc("getpgrp")}, 73013634Saustinharris@utexas.edu {1061, SyscallDesc("pause")}, 73113634Saustinharris@utexas.edu {1062, SyscallDesc("time", timeFunc<RiscvLinux32>)}, 73213634Saustinharris@utexas.edu {1063, SyscallDesc("utime")}, 73313634Saustinharris@utexas.edu {1064, SyscallDesc("creat")}, 73413634Saustinharris@utexas.edu {1065, SyscallDesc("getdents")}, 73513634Saustinharris@utexas.edu {1066, SyscallDesc("futimesat")}, 73613634Saustinharris@utexas.edu {1067, SyscallDesc("select")}, 73713634Saustinharris@utexas.edu {1068, SyscallDesc("poll")}, 73813634Saustinharris@utexas.edu {1069, SyscallDesc("epoll_wait")}, 73913634Saustinharris@utexas.edu {1070, SyscallDesc("ustat")}, 74013634Saustinharris@utexas.edu {1071, SyscallDesc("vfork")}, 74113634Saustinharris@utexas.edu {1072, SyscallDesc("oldwait4")}, 74213634Saustinharris@utexas.edu {1073, SyscallDesc("recv")}, 74313634Saustinharris@utexas.edu {1074, SyscallDesc("send")}, 74413634Saustinharris@utexas.edu {1075, SyscallDesc("bdflush")}, 74513634Saustinharris@utexas.edu {1076, SyscallDesc("umount")}, 74613634Saustinharris@utexas.edu {1077, SyscallDesc("uselib")}, 74713634Saustinharris@utexas.edu {1078, SyscallDesc("sysctl")}, 74813634Saustinharris@utexas.edu {1079, SyscallDesc("fork")}, 74913634Saustinharris@utexas.edu {2011, SyscallDesc("getmainvars")} 75013634Saustinharris@utexas.edu}; 75113634Saustinharris@utexas.edu 75213634Saustinharris@utexas.eduRiscvLinuxProcess64::RiscvLinuxProcess64(ProcessParams * params, 75313634Saustinharris@utexas.edu ObjectFile *objFile) : RiscvProcess64(params, objFile) 75411723Sar4jc@virginia.edu{} 75511723Sar4jc@virginia.edu 75611723Sar4jc@virginia.eduSyscallDesc* 75713634Saustinharris@utexas.eduRiscvLinuxProcess64::getDesc(int callnum) 75811723Sar4jc@virginia.edu{ 75911723Sar4jc@virginia.edu return syscallDescs.find(callnum) != syscallDescs.end() ? 76011723Sar4jc@virginia.edu &syscallDescs.at(callnum) : nullptr; 76111723Sar4jc@virginia.edu} 76213634Saustinharris@utexas.edu 76313634Saustinharris@utexas.eduRiscvLinuxProcess32::RiscvLinuxProcess32(ProcessParams * params, 76413634Saustinharris@utexas.edu ObjectFile *objFile) : RiscvProcess32(params, objFile) 76513634Saustinharris@utexas.edu{} 76613634Saustinharris@utexas.edu 76713634Saustinharris@utexas.eduSyscallDesc* 76813634Saustinharris@utexas.eduRiscvLinuxProcess32::getDesc(int callnum) 76913634Saustinharris@utexas.edu{ 77013634Saustinharris@utexas.edu return syscallDescs.find(callnum) != syscallDescs.end() ? 77113634Saustinharris@utexas.edu &syscallDescs.at(callnum) : nullptr; 77213634Saustinharris@utexas.edu} 773