f58d85128d
which is evaluated slightly differently than in previous versions of gcc. arch/alpha/alpha_linux_process.cc: Alphabetize includes. arch/alpha/vptr.hh: Change the constants that are being used for alpha pagebytes to come from the ISA. base/random.hh: cpu/static_inst.cc: sim/param.cc: Fix up template syntax. base/range.hh: Include iostream for << operator. base/res_list.hh: base/statistics.hh: cpu/simple_cpu/simple_cpu.hh: cpu/static_inst.hh: sim/eventq.hh: sim/param.hh: Fixup for templated code to resolve different scope lookup in gcc 3.4. This defers the lookup of the function/variable until actual instantiation time by making it dependent on the templated class/function. base/trace.cc: Fix call to new. base/trace.hh: Fix up #define to have full path. cpu/base_cpu.cc: Fix up call to new. dev/etherlink.hh: dev/ns_gige.hh: dev/sinic.hh: Fixup for friend class/function declaration. g++ 3.4 no longer allows typedefs to be declared as a friend class. dev/pcidev.hh: Fix up re-definition of access level to params. kern/linux/linux_syscalls.hh: kern/tru64/tru64_syscalls.hh: Fix up header. Fix up template syntax. sim/serialize.cc: Include errno.h. sim/startup.cc: Change startupq. queue was getting destructed before all things had called ~StartupCallback(), which lead to a segfault. This puts startupq in global space, and we allocate it ourselves. Other code may be similar to this and may need changing in the future. sim/syscall_emul.hh: Include cpu/exec_context.hh and sim/process.hh, as forward declarations are no longer sufficient. sim/universe.cc: Include errno.h --HG-- extra : convert_revision : e49d08ee89eb06a28351f02bafc028ca6652d5af
359 lines
9.3 KiB
C++
359 lines
9.3 KiB
C++
/*
|
|
* Copyright (c) 2003 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.
|
|
*/
|
|
|
|
#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__
|