tru64_syscalls.hh

来自「M5,一个功能强大的多处理器系统模拟器.很多针对处理器架构,性能的研究都使用它作」· HH 代码 · 共 362 行

HH
362
字号
/* * Copyright (c) 2003, 2004, 2005 * The Regents of The University of Michigan * All Rights Reserved * * This code is part of the M5 simulator. * * Permission is granted to use, copy, create derivative works and * redistribute this software and such derivative works for any * purpose, so long as the copyright notice above, this grant of * permission, and the disclaimer below appear in all copies made; and * so long as the name of The University of Michigan is not used in * any advertising or publicity pertaining to the use or distribution * of this software without specific, written prior authorization. * * THIS SOFTWARE IS PROVIDED AS IS, WITHOUT REPRESENTATION FROM THE * UNIVERSITY OF MICHIGAN AS TO ITS FITNESS FOR ANY PURPOSE, AND * WITHOUT WARRANTY BY THE UNIVERSITY OF MICHIGAN OF ANY KIND, EITHER * EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE. THE REGENTS OF THE UNIVERSITY OF MICHIGAN SHALL NOT BE * LIABLE FOR ANY DAMAGES, INCLUDING DIRECT, SPECIAL, INDIRECT, * INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WITH RESPECT TO ANY CLAIM * ARISING OUT OF OR IN CONNECTION WITH THE USE OF THE SOFTWARE, EVEN * IF IT HAS BEEN OR IS HEREAFTER ADVISED OF THE POSSIBILITY OF SUCH * DAMAGES. * * Authors: Nathan L. Binkert */#ifndef __KERN_TRU64_TRU64_SYSCALLS_HH__#define __KERN_TRU64_TRU64_SYSCALLS_HH__#include "kern/tru64/tru64.hh"template <class OS>class SystemCalls;template <>class SystemCalls<Tru64>{  public:    enum {        syscall = 0,        exit = 1,        fork = 2,        read = 3,        write = 4,        old_open = 5,        close = 6,        wait4 = 7,        old_creat = 8,        link = 9,        unlink = 10,        execv = 11,        chdir = 12,        fchdir = 13,        mknod = 14,        chmod = 15,        chown = 16,        obreak = 17,        pre_F64_getfsstat = 18,        lseek = 19,        getpid = 20,        mount = 21,        unmount = 22,        setuid = 23,        getuid = 24,        exec_with_loader = 25,        ptrace = 26,        recvmsg = 27,        sendmsg = 28,        recvfrom = 29,        accept = 30,        getpeername = 31,        getsockname = 32,        access = 33,        chflags = 34,        fchflags = 35,        sync = 36,        kill = 37,        old_stat = 38,        setpgid = 39,        old_lstat = 40,        dup = 41,        pipe = 42,        set_program_attributes = 43,        profil = 44,        open = 45,        obsolete_osigaction = 46,        getgid = 47,        sigprocmask = 48,        getlogin = 49,        setlogin = 50,        acct = 51,        sigpending = 52,        classcntl = 53,        ioctl = 54,        reboot = 55,        revoke = 56,        symlink = 57,        readlink = 58,        execve = 59,        umask = 60,        chroot = 61,        old_fstat = 62,        getpgrp = 63,        getpagesize = 64,        mremap = 65,        vfork = 66,        pre_F64_stat = 67,        pre_F64_lstat = 68,        sbrk = 69,        sstk = 70,        mmap = 71,        ovadvise = 72,        munmap = 73,        mprotect = 74,        madvise = 75,        old_vhangup = 76,        kmodcall = 77,        mincore = 78,        getgroups = 79,        setgroups = 80,        old_getpgrp = 81,        setpgrp = 82,        setitimer = 83,        old_wait = 84,        table = 85,        getitimer = 86,        gethostname = 87,        sethostname = 88,        getdtablesize = 89,        dup2 = 90,        pre_F64_fstat = 91,        fcntl = 92,        select = 93,        poll = 94,        fsync = 95,        setpriority = 96,        socket = 97,        connect = 98,        old_accept = 99,        getpriority = 100,        old_send = 101,        old_recv = 102,        sigreturn = 103,        bind = 104,        setsockopt = 105,        listen = 106,        plock = 107,        old_sigvec = 108,        old_sigblock = 109,        old_sigsetmask = 110,        sigsuspend = 111,        sigstack = 112,        old_recvmsg = 113,        old_sendmsg = 114,        obsolete_vtrcae = 115,        gettimeofday = 116,        getrusage = 117,        getsockopt = 118,        numa_syscalls = 119,        readv = 120,        writev = 121,        settimeofday = 122,        fchown = 123,        fchmod = 124,        old_recvfrom = 125,        setreuid = 126,        setregid = 127,        rename = 128,        truncate = 129,        ftruncate = 130,        flock = 131,        setgid = 132,        sendto = 133,        shutdown = 134,        socketpair = 135,        mkdir = 136,        rmdir = 137,        utimes = 138,        obsolete_42_sigreturn = 139,        adjtime = 140,        old_getpeername = 141,        gethostid = 142,        sethostid = 143,        getrlimit = 144,        setrlimit = 145,        old_killpg = 146,        setsid = 147,        quotactl = 148,        oldquota = 149,        old_getsockname = 150,        pread = 151,        pwrite = 152,        pid_block = 153,        pid_unblock = 154,        signal_urti = 155,        sigaction = 156,        sigwaitprim = 157,        nfssvc = 158,        getdirentries = 159,        pre_F64_statfs = 160,        pre_F64_fstatfs = 161,        async_daemon = 163,        getfh = 164,        getdomainname = 165,        setdomainname = 166,        exportfs = 169,        alt_plock = 181,        getmnt = 184,        alt_sigpending = 187,        alt_setsid = 188,        swapon = 199,        msgctl = 200,        msgget = 201,        msgrcv = 202,        msgsnd = 203,        semctl = 204,        semget = 205,        semop = 206,        uname = 207,        lchown = 208,        shmat = 209,        shmctl = 210,        shmdt = 211,        shmget = 212,        mvalid = 213,        getaddressconf = 214,        msleep = 215,        mwakeup = 216,        msync = 217,        signal = 218,        utc_gettime = 219,        utc_adjtime = 220,        security = 222,        kloadcall = 223,        stat = 224,        lstat = 225,        fstat = 226,        statfs = 227,        fstatfs = 228,        getfsstat = 229,        gettimeofday64 = 230,        settimeofday64 = 231,        getpgid = 233,        getsid = 234,        sigaltstack = 235,        waitid = 236,        priocntlset = 237,        sigsendset = 238,        set_speculative = 239,        msfs_syscall = 240,        sysinfo = 241,        uadmin = 242,        fuser = 243,        proplist_syscall = 244,        ntp_adjtime = 245,        ntp_gettime = 246,        pathconf = 247,        fpathconf = 248,        sync2 = 249,        uswitch = 250,        usleep_thread = 251,        audcntl = 252,        audgen = 253,        sysfs = 254,        subsys_info = 255,        getsysinfo = 256,        setsysinfo = 257,        afs_syscall = 258,        swapctl = 259,        memcntl = 260,        fdatasync = 261,        oflock = 262,        _F64_readv = 263,        _F64_writev = 264,        cdslxlate = 265,        sendfile = 266,        StandardNumber    };    enum {        task_self = 10,        thread_reply = 11,        task_notify = 12,        thread_self = 13,        msg_send_trap = 20,        msg_receive_trap = 21,        msg_rpc_trap = 22,        nxm_block = 24,        nxm_unblock = 25,        nxm_thread_destroy = 29,        lw_wire = 30,        lw_unwire = 31,        nxm_thread_create = 32,        nxm_task_init = 33,        nxm_idle = 35,        nxm_wakeup_idle = 36,        nxm_set_pthid = 37,        nxm_thread_kill = 38,        nxm_thread_block = 39,        nxm_thread_wakeup = 40,        init_process = 41,        nxm_get_binding = 42,        map_fd = 43,        nxm_resched = 44,        nxm_set_cancel = 45,        nxm_set_binding = 46,        stack_create = 47,        nxm_get_state = 48,        nxm_thread_suspend = 49,        nxm_thread_resume = 50,        nxm_signal_check = 51,        htg_unix_syscall = 52,        host_self = 55,        host_priv_self = 56,        swtch_pri = 59,        swtch = 60,        thread_switch = 61,        semop_fast = 62,        nxm_pshared_init = 63,        nxm_pshared_block = 64,        nxm_pshared_unblock = 65,        nxm_pshared_destroy = 66,        nxm_swtch_pri = 67,        lw_syscall = 68,        mach_sctimes_0 = 70,        mach_sctimes_1 = 71,        mach_sctimes_2 = 72,        mach_sctimes_3 = 73,        mach_sctimes_4 = 74,        mach_sctimes_5 = 75,        mach_sctimes_6 = 76,        mach_sctimes_7 = 77,        mach_sctimes_8 = 78,        mach_sctimes_9 = 79,        mach_sctimes_10 = 80,        mach_sctimes_11 = 81,        mach_sctimes_port_alloc_dealloc = 82,        MachNumber    };    static const int Number = StandardNumber + MachNumber;    static const char *name(int num);    static bool validSyscallNumber(int num) {        return -MachNumber < num && num < StandardNumber;    }    static int convert(int syscall_num) {        if (!validSyscallNumber(syscall_num))            return -1;        return syscall_num < 0 ? StandardNumber - syscall_num : syscall_num;    }};#endif // __KERN_TRU64_TRU64_SYSCALLS_HH__

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?