/*
 * Copyright (c) 2003-2005 The Regents of The University of Michigan
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met: redistributions of source code must retain the above copyright
 * notice, this list of conditions and the following disclaimer;
 * redistributions in binary form must reproduce the above copyright
 * notice, this list of conditions and the following disclaimer in the
 * documentation and/or other materials provided with the distribution;
 * neither the name of the copyright holders nor the names of its
 * contributors may be used to endorse or promote products derived from
 * this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */

#include "arch/sparc/linux/se_workload.hh"
#include "sim/syscall_desc.hh"
#include "sim/syscall_emul.hh"

namespace gem5
{

class Process;
class ThreadContext;

namespace SparcISA
{

/// Target uname() handler.
static SyscallReturn
unameFunc(SyscallDesc *desc, ThreadContext *tc, VPtr<Linux::utsname> name)
{
    auto process = tc->getProcessPtr();

    strcpy(name->sysname, "Linux");
    strcpy(name->nodename, "sim.gem5.org");
    strcpy(name->release, process->release.c_str());
    strcpy(name->version, "#1 Mon Aug 18 11:32:15 EDT 2003");
    strcpy(name->machine, "sparc");

    return 0;
}


static SyscallReturn
getresuidFunc(SyscallDesc *desc, ThreadContext *tc,
              VPtr<> ruid, VPtr<> euid, VPtr<> suid)
{
    const uint64_t id = htobe(100);
    // Handle the EFAULT case
    // Set the ruid
    if (ruid) {
        BufferArg ruidBuff(ruid, sizeof(uint64_t));
        memcpy(ruidBuff.bufferPtr(), &id, sizeof(uint64_t));
        ruidBuff.copyOut(tc->getVirtProxy());
    }
    // Set the euid
    if (euid) {
        BufferArg euidBuff(euid, sizeof(uint64_t));
        memcpy(euidBuff.bufferPtr(), &id, sizeof(uint64_t));
        euidBuff.copyOut(tc->getVirtProxy());
    }
    // Set the suid
    if (suid) {
        BufferArg suidBuff(suid, sizeof(uint64_t));
        memcpy(suidBuff.bufferPtr(), &id, sizeof(uint64_t));
        suidBuff.copyOut(tc->getVirtProxy());
    }
    return 0;
}

SyscallDescTable<SEWorkload::SyscallABI32> EmuLinux::syscall32Descs = {
    {   0, "restart_syscall" },
    {   1, "exit", exitFunc }, // 32 bit
    {   2, "fork" },
    {   3, "read", readFunc<Sparc32Linux> },
    {   4, "write", writeFunc<Sparc32Linux> },
    {   5, "open", openFunc<Sparc32Linux> }, // 32 bit
    {   6, "close", closeFunc },
    {   7, "wait4" }, // 32 bit
    {   8, "creat" }, // 32 bit
    {   9, "link" },
    {  10, "unlink", unlinkFunc },
    {  11, "execv" },
    {  12, "chdir" },
    {  13, "chown", chownFunc }, // 32 bit
    {  14, "mknod" },
    {  15, "chmod" },
    {  16, "lchown" }, // 32 bit
    {  17, "brk", brkFunc },
    {  18, "perfctr" }, // 32 bit
    {  19, "lseek", lseekFunc }, // 32 bit
    {  20, "getpid", getpidFunc },
    {  21, "capget" },
    {  22, "capset" },
    {  23, "setuid", ignoreFunc }, // 32 bit
    {  24, "getuid", getuidFunc }, // 32 bit
    {  25, "time" },
    {  26, "ptrace" },
    {  27, "alarm" },
    {  28, "sigaltstack" }, // 32 bit
    {  29, "pause" }, // 32 bit
    {  30, "utime" },
    {  31, "lchown32" },
    {  32, "fchown32" },
    {  33, "access" }, // 32 bit
    {  34, "nice" }, // 32 bit
    {  35, "chown32" },
    {  36, "sync" },
    {  37, "kill" }, // 32 bit
    {  38, "stat" },
    {  39, "sendfile" }, // 32 bit
    {  40, "lstat" },
    {  41, "dup" },
    {  42, "pipe", pipePseudoFunc },
    {  43, "times", ignoreFunc },
    {  44, "getuid32" },
    {  45, "umount2" }, // 32 bit
    {  46, "setgid" }, // 32 bit
    {  47, "getgid", getgidFunc }, // 32 bit
    {  48, "signal" }, // 32 bit
    {  49, "geteuid", geteuidFunc }, // 32 bit
    {  50, "getegid", getegidFunc }, // 32 bit
    {  51, "acct" },
    {  52, "memory_ordering" },
    {  53, "getgid32" },
    {  54, "ioctl" },
    {  55, "reboot" }, // 32 bit
    {  56, "mmap2" }, // 32 bit
    {  57, "symlink" },
    {  58, "readlink", readlinkFunc }, // 32 bit
    {  59, "execve" }, // 32 bit
    {  60, "umask" }, // 32 bit
    {  61, "chroot" },
    {  62, "fstat" },
    {  63, "fstat64", fstat64Func<Sparc32Linux> },
    {  64, "getpagesize" },
    {  65, "msync" }, // 32 bit
    {  66, "vfork" },
    {  67, "pread64" }, // 32 bit
    {  68, "pwrite64" }, // 32 bit
    {  69, "geteuid32" },
    {  70, "getegid32" },
    {  71, "mmap", mmapFunc<Sparc32Linux> },
    {  72, "setreuid32" },
    {  73, "munmap", munmapFunc },
    {  74, "mprotect", ignoreFunc },
    {  75, "madvise" },
    {  76, "vhangup" },
    {  77, "truncate64" }, // 32 bit
    {  78, "mincore" },
    {  79, "getgroups" }, // 32 bit
    {  80, "setgroups" }, // 32 bit
    {  81, "getpgrp" },
    {  82, "setgroups32" }, // 32 bit
    {  83, "setitimer" }, // 32 bit
    {  84, "ftruncate64" }, // 32 bit
    {  85, "swapon" }, // 32 bit
    {  86, "getitimer" }, // 32 bit
    {  87, "setuid32" },
    {  88, "sethostname" }, // 32 bit
    {  89, "setgid32" },
    {  90, "dup2" },
    {  91, "setfsuid32" },
    {  92, "fcntl" },
    {  93, "select" }, // 32 bit
    {  94, "setfsgid32" },
    {  95, "fsync" },
    {  96, "setpriority" }, // 32 bit
    {  97, "socket" },
    {  98, "connect" },
    {  99, "accept" },
    { 100, "getpriority" }, // 32 bit
    { 101, "rt_sigreturn" }, // 32 bit
    { 102, "rt_sigaction", ignoreFunc }, // 32 bit
    { 103, "rt_sigprocmask", ignoreFunc }, // 32 bit
    { 104, "rt_sigpending" }, // 32 bit
    { 105, "rt_sigtimedwait" },
    { 106, "rt_sigqueueinfo" }, // 32 bit
    { 107, "rt_sigsuspend" },
    { 108, "setresuid32" },
    { 109, "getresuid32", getresuidFunc },
    { 110, "setresgid32", ignoreFunc },
    { 111, "getresgid32" },
    { 112, "setregid32" },
    { 113, "revcmsg" },
    { 114, "sendmsg" },
    { 115, "getgroups32" }, // 32 bit
    { 116, "gettimeofday", gettimeofdayFunc<Sparc32Linux> }, // 32 bit
    { 117, "getrusage" }, // 32 bit
    { 118, "getsockopt" },
    { 119, "getcwd", getcwdFunc },
    { 120, "readv" },
    { 121, "writev" },
    { 122, "settimeofday" }, // 32 bit
    { 123, "fchown" }, // 32 bit
    { 124, "fchmod" },
    { 125, "recvfrom" },
    { 126, "setreuid" }, // 32 bit
    { 127, "setregid" }, // 32 bit
    { 128, "rename", renameFunc },
    { 129, "truncate" },
    { 130, "ftruncate" },
    { 131, "flock" },
    { 132, "lstat64" },
    { 133, "sendto" },
    { 134, "shutdown" },
    { 135, "socketpair" },
    { 136, "mkdir", mkdirFunc }, // 32 bit
    { 137, "rmdir" },
    { 138, "utimes" }, // 32 bit
    { 139, "stat64" },
    { 140, "sendfile64" }, // 32 bit
    { 141, "getpeername" },
    { 142, "futex" }, // 32 bit
    { 143, "gettid" },
    { 144, "getrlimit" },
    { 145, "setrlimit" },
    { 146, "pivot_root" },
    { 147, "prctl" }, // 32 bit
    { 148, "pciconfig_read" },
    { 149, "pciconfig_write" },
    { 150, "getsockname" },
    { 151, "inotify_init" },
    { 152, "inotify_add_watch" },
    { 153, "poll" },
    { 154, "getdents64" },
    { 155, "fcntl64" },
    { 156, "inotify_rm_watch" },
    { 157, "statfs" },
    { 158, "fstatfs" },
    { 159, "umount" },
    { 160, "sched_setaffinity" },
    { 161, "sched_getaffinity" },
    { 162, "getdomainname" }, // 32 bit
    { 163, "setdomainname" }, // 32 bit
    { 164, "ni_syscall" },
    { 165, "quotactl" },
    { 166, "set_tid_address" },
    { 167, "mount" },
    { 168, "ustat" },
    { 169, "setxattr" }, // 32 bit
    { 170, "lsetxattr" }, // 32 bit
    { 171, "fsetxattr" }, // 32 bit
    { 172, "getxattr" },
    { 173, "lgetxattr" },
    { 174, "getdents" },
    { 175, "setsid" },
    { 176, "fchdir" },
    { 177, "fgetxattr" }, // 32 bit
    { 178, "listxattr" },
    { 179, "llistxattr" },
    { 180, "flistxattr" }, // 32 bit
    { 181, "removexattr" },
    { 182, "lremovexattr" },
    { 183, "sigpending" },
    { 184, "query_module" },
    { 185, "setpgid" }, // 32 bit
    { 186, "fremovexattr" }, // 32 bit
    { 187, "tkill" }, // 32 bit
    { 188, "exit_group", exitGroupFunc }, // 32 bit
    { 189, "uname", unameFunc },
    { 190, "init_module" }, // 32 bit
    { 191, "personality" },
    { 192, "remap_file_pages" },
    { 193, "epoll_create" }, // 32 bit
    { 194, "epoll_ctl" }, // 32 bit
    { 195, "epoll_wait" }, // 32 bit
    { 196, "ioprio_set" }, // 32 bit
    { 197, "getppid", getppidFunc },
    { 198, "sigaction" }, // 32 bit
    { 199, "sgetmask" },
    { 200, "ssetmask" },
    { 201, "sigsuspend" },
    { 202, "oldlstat" },
    { 203, "uselib" },
    { 204, "readdir" },
    { 205, "readahead" }, // 32 bit
    { 206, "socketcall" }, // 32 bit
    { 207, "syslog" }, // 32 bit
    { 208, "lookup_dcookie" }, // 32 bit
    { 209, "fadvise64" }, // 32 bit
    { 210, "fadvise64_64" }, // 32 bit
    { 211, "tgkill" }, // 32 bit
    { 212, "waitpid" }, // 32 bit
    { 213, "swapoff" },
    { 214, "sysinfo", sysinfoFunc<Sparc32Linux> }, // 32 bit
    { 215, "ipc" }, // 32 bit
    { 216, "sigreturn" }, // 32 bit
    { 217, "clone", cloneFunc<Sparc32Linux> },
    { 218, "ioprio_get" }, // 32 bit
    { 219, "adjtimex" }, // 32 bit
    { 220, "sigprocmask" }, // 32 bit
    { 221, "create_module" },
    { 222, "delete_module" }, // 32 bit
    { 223, "get_kernel_syms" },
    { 224, "getpgid" }, // 32 bit
    { 225, "bdflush" }, // 32 bit
    { 226, "sysfs" }, // 32 bit
    { 227, "afs_syscall" },
    { 228, "setfsuid" }, // 32 bit
    { 229, "setfsgid" }, // 32 bit
    { 230, "_newselect" }, // 32 bit
    { 231, "time", ignoreFunc },
    { 232, "oldstat" },
    { 233, "stime" },
    { 234, "statfs64" },
    { 235, "fstatfs64" },
    { 236, "_llseek", _llseekFunc },
    { 237, "mlock" },
    { 238, "munlock" },
    { 239, "mlockall" }, // 32 bit
    { 240, "munlockall" },
    { 241, "sched_setparam" }, // 32 bit
    { 242, "sched_getparam" }, // 32 bit
    { 243, "sched_setscheduler" }, // 32 bit
    { 244, "sched_getscheduler" }, // 32 bit
    { 245, "sched_yield" },
    { 246, "sched_get_priority_max" }, // 32 bit
    { 247, "sched_get_priority_min" }, // 32 bit
    { 248, "sched_rr_get_interval" }, // 32 bit
    { 249, "nanosleep" },
    { 250, "mremap", mremapFunc<Sparc32Linux> }, // 32 bit
    { 251, "_sysctl" }, // 32 bit
    { 252, "getsid" }, // 32 bit
    { 253, "fdatasync" },
    { 254, "nfsservctl" }, // 32 bit
    { 255, "aplib" },
    { 256, "clock_settime" },
    { 257, "clock_gettime" },
    { 258, "clock_getres" },
    { 259, "clock_nanosleep" }, // 32 bit
    { 260, "sched_getaffinity" },
    { 261, "sched_setaffinity" },
    { 262, "timer_settime" }, // 32 bit
    { 263, "timer_gettime" },
    { 264, "timer_getoverrun" },
    { 265, "timer_delete" },
    { 266, "timer_create" },
    { 267, "vserver" },
    { 268, "io_setup" },
    { 269, "io_destroy" },
    { 270, "io_submit" }, // 32 bit
    { 271, "io_cancel" },
    { 272, "io_getevents" },
    { 273, "mq_open" }, // 32 bit
    { 274, "mq_unlink" },
    { 275, "mq_timedsend" },
    { 276, "mq_timedreceive" },
    { 277, "mq_notify" },
    { 278, "mq_getsetattr" },
    { 279, "waitid" },
    { 280, "sys_setaltroot" },
    { 281, "add_key" },
    { 282, "request_key" },
    { 283, "keyctl" },
    { 284, "openat" },
    { 285, "mkdirat" },
    { 286, "mknodat" },
    { 287, "fchownat" },
    { 288, "futimesat" },
    { 289, "fstatat64" },
    { 290, "unlinkat" },
    { 291, "renameat" },
    { 292, "linkat" },
    { 293, "symlinkat" },
    { 294, "readlinkat" },
    { 295, "fchmodat" },
    { 296, "faccessat" },
    { 297, "pselect6" },
    { 298, "ppoll" },
    { 299, "unshare" }
};

SyscallDescTable<SEWorkload::SyscallABI64> EmuLinux::syscallDescs = {
    {  0, "restart_syscall" },
    {  1, "exit", exitFunc },
    {  2, "fork" },
    {  3, "read", readFunc<SparcLinux> },
    {  4, "write", writeFunc<SparcLinux> },
    {  5, "open", openFunc<SparcLinux> },
    {  6, "close", closeFunc },
    {  7, "wait4" },
    {  8, "creat" },
    {  9, "link" },
    { 10, "unlink", unlinkFunc },
    { 11, "execv" },
    { 12, "chdir" },
    { 13, "chown", chownFunc },
    { 14, "mknod" },
    { 15, "chmod", chmodFunc<Linux> },
    { 16, "lchown" },
    { 17, "brk", brkFunc },
    { 18, "perfctr" },
    { 19, "lseek", lseekFunc },
    { 20, "getpid", getpidFunc },
    { 21, "capget" },
    { 22, "capset" },
    { 23, "setuid", ignoreFunc },
    { 24, "getuid", getuidFunc },
    { 25, "time" },
    { 26, "ptrace" },
    { 27, "alarm" },
    { 28, "sigaltstack" },
    { 29, "pause" },
    { 30, "utime" },
    { 31, "lchown32" },
    { 32, "fchown32" },
    { 33, "access" },
    { 34, "nice" },
    { 35, "chown32" },
    { 36, "sync" },
    { 37, "kill" },
    { 38, "stat" },
    { 39, "sendfile" },
    { 40, "lstat" },
    { 41, "dup" },
    { 42, "pipe", pipePseudoFunc },
    { 43, "times", ignoreFunc },
    { 44, "getuid32" },
    { 45, "umount2" },
    { 46, "setgid" },
    { 47, "getgid", getgidFunc },
    { 48, "signal" },
    { 49, "geteuid", geteuidFunc },
    { 50, "getegid", getegidFunc },
    { 51, "acct" },
    { 52, "memory_ordering" },
    { 53, "getgid32" },
    { 54, "ioctl" },
    { 55, "reboot" },
    { 56, "mmap2" },
    { 57, "symlink" },
    { 58, "readlink", readlinkFunc },
    { 59, "execve" },
    { 60, "umask" },
    { 61, "chroot" },
    { 62, "fstat", fstatFunc<SparcLinux> },
    { 63, "fstat64", fstat64Func<SparcLinux> },
    { 64, "getpagesize" },
    { 65, "msync" },
    { 66, "vfork" },
    { 67, "pread64" },
    { 68, "pwrite64" },
    { 69, "geteuid32" },
    { 70, "getegid32" },
    { 71, "mmap", mmapFunc<SparcLinux> },
    { 72, "setreuid32" },
    { 73, "munmap", munmapFunc },
    { 74, "mprotect", ignoreFunc },
    { 75, "madvise" },
    { 76, "vhangup" },
    { 77, "truncate64" },
    { 78, "mincore" },
    { 79, "getgroups" },
    { 80, "setgroups" },
    { 81, "getpgrp" },
    { 82, "setgroups32" },
    { 83, "setitimer" },
    { 84, "ftruncate64" },
    { 85, "swapon" },
    { 86, "getitimer" },
    { 87, "setuid32" },
    { 88, "sethostname" },
    { 89, "setgid32" },
    { 90, "dup2" },
    { 91, "setfsuid32" },
    { 92, "fcntl" },
    { 93, "select" },
    { 94, "setfsgid32" },
    { 95, "fsync" },
    { 96, "setpriority" },
    { 97, "socket" },
    { 98, "connect" },
    { 99, "accept" },
    { 100, "getpriority" },
    { 101, "rt_sigreturn" },
    { 102, "rt_sigaction", ignoreFunc },
    { 103, "rt_sigprocmask", ignoreFunc },
    { 104, "rt_sigpending" },
    { 105, "rt_sigtimedwait" },
    { 106, "rt_sigqueueinfo" },
    { 107, "rt_sigsuspend" },
    { 108, "setresuid" },
    { 109, "getresuid", getresuidFunc },
    { 110, "setresgid", ignoreFunc },
    { 111, "getresgid" },
    { 112, "setregid32" },
    { 113, "recvmsg" },
    { 114, "sendmsg" },
    { 115, "getgroups32" },
    { 116, "gettimeofday", gettimeofdayFunc<SparcLinux> },
    { 117, "getrusage" },
    { 118, "getsockopt" },
    { 119, "getcwd" },
    { 120, "readv" },
    { 121, "writev" },
    { 122, "settimeofday" },
    { 123, "fchown" },
    { 124, "fchmod" },
    { 125, "recvfrom" },
    { 126, "setreuid" },
    { 127, "setregid" },
    { 128, "rename", renameFunc },
    { 129, "truncate" },
    { 130, "ftruncate" },
    { 131, "flock" },
    { 132, "lstat64" },
    { 133, "sendto" },
    { 134, "shutdown" },
    { 135, "socketpair" },
    { 136, "mkdir", mkdirFunc },
    { 137, "rmdir" },
    { 138, "utimes" },
    { 139, "stat64" },
    { 140, "sendfile64" },
    { 141, "getpeername" },
    { 142, "futex" },
    { 143, "gettid" },
    { 144, "getrlimit" },
    { 145, "setrlimit" },
    { 146, "pivot_root" },
    { 147, "prctl" },
    { 148, "pciconfig_read" },
    { 149, "pciconfig_write" },
    { 150, "getsockname" },
    { 151, "inotify_init" },
    { 152, "inotify_add_watch" },
    { 153, "poll" },
    { 154, "getdents64" },
    { 155, "fcntl64" },
    { 156, "inotify_rm_watch" },
    { 157, "statfs" },
    { 158, "fstatfs" },
    { 159, "umount" },
    { 160, "sched_set_affinity" },
    { 161, "sched_get_affinity" },
    { 162, "getdomainname" },
    { 163, "setdomainname" },
    { 164, "utrap_install" },
    { 165, "quotactl" },
    { 166, "set_tid_address" },
    { 167, "mount" },
    { 168, "ustat" },
    { 169, "setxattr" },
    { 170, "lsetxattr" },
    { 171, "fsetxattr" },
    { 172, "getxattr" },
    { 173, "lgetxattr" },
    { 174, "getdents" },
    { 175, "setsid" },
    { 176, "fchdir" },
    { 177, "fgetxattr" },
    { 178, "listxattr" },
    { 179, "llistxattr" },
    { 180, "flistxattr" },
    { 181, "removexattr" },
    { 182, "lremovexattr" },
    { 183, "sigpending" },
    { 184, "query_module" },
    { 185, "setpgid" },
    { 186, "fremovexattr" },
    { 187, "tkill" },
    { 188, "exit_group", exitGroupFunc },
    { 189, "uname", unameFunc },
    { 190, "init_module" },
    { 191, "personality" },
    { 192, "remap_file_pages" },
    { 193, "epoll_create" },
    { 194, "epoll_ctl" },
    { 195, "epoll_wait" },
    { 196, "ioprio_set" },
    { 197, "getppid", getppidFunc },
    { 198, "sigaction", ignoreFunc },
    { 199, "sgetmask" },
    { 200, "ssetmask" },
    { 201, "sigsuspend" },
    { 202, "oldlstat" },
    { 203, "uselib" },
    { 204, "readdir" },
    { 205, "readahead" },
    { 206, "socketcall" },
    { 207, "syslog" },
    { 208, "lookup_dcookie" },
    { 209, "fadvise64" },
    { 210, "fadvise64_64" },
    { 211, "tgkill" },
    { 212, "waitpid" },
    { 213, "swapoff" },
    { 214, "sysinfo", sysinfoFunc<SparcLinux> },
    { 215, "ipc" },
    { 216, "sigreturn" },
    { 217, "clone", cloneFunc<SparcLinux> },
    { 218, "ioprio_get" },
    { 219, "adjtimex" },
    { 220, "sigprocmask" },
    { 221, "create_module" },
    { 222, "delete_module" },
    { 223, "get_kernel_syms" },
    { 224, "getpgid" },
    { 225, "bdflush" },
    { 226, "sysfs" },
    { 227, "afs_syscall" },
    { 228, "setfsuid" },
    { 229, "setfsgid" },
    { 230, "_newselect" },
    { 231, "time", ignoreFunc },
    { 232, "oldstat" },
    { 233, "stime" },
    { 234, "statfs64" },
    { 235, "fstatfs64" },
    { 236, "_llseek", _llseekFunc },
    { 237, "mlock" },
    { 238, "munlock" },
    { 239, "mlockall" },
    { 240, "munlockall" },
    { 241, "sched_setparam" },
    { 242, "sched_getparam" },
    { 243, "sched_setscheduler" },
    { 244, "sched_getscheduler" },
    { 245, "sched_yield" },
    { 246, "sched_get_priority_max" },
    { 247, "sched_get_priority_min" },
    { 248, "sched_rr_get_interval" },
    { 249, "nanosleep" },
    { 250, "mremap", mremapFunc<SparcLinux> },
    { 251, "_sysctl" },
    { 252, "getsid" },
    { 253, "fdatasync" },
    { 254, "nfsservctl" },
    { 255, "aplib" },
    { 256, "clock_settime" },
    { 257, "clock_gettime" },
    { 258, "clock_getres" },
    { 259, "clock_nanosleep" },
    { 260, "sched_getaffinity" },
    { 261, "sched_setaffinity" },
    { 262, "timer_settime" },
    { 263, "timer_gettime" },
    { 264, "timer_getoverrun" },
    { 265, "timer_delete" },
    { 266, "timer_create" },
    { 267, "vserver" },
    { 268, "io_setup" },
    { 269, "io_destroy" },
    { 270, "io_submit" },
    { 271, "io_cancel" },
    { 272, "io_getevents" },
    { 273, "mq_open" },
    { 274, "mq_unlink" },
    { 275, "mq_timedsend" },
    { 276, "mq_timedreceive" },
    { 277, "mq_notify" },
    { 278, "mq_getsetattr" },
    { 279, "waitid" },
    { 280, "sys_setaltroot" },
    { 281, "add_key" },
    { 282, "request_key" },
    { 283, "keyctl" }
};

} // namespace SparcISA
} // namespace gem5
