ad8b9636f8
Update copyright dates and author list SConscript: arch/alpha/alpha_linux_process.cc: arch/alpha/alpha_linux_process.hh: arch/alpha/alpha_memory.cc: arch/alpha/alpha_memory.hh: arch/alpha/alpha_tru64_process.cc: arch/alpha/alpha_tru64_process.hh: arch/alpha/aout_machdep.h: arch/alpha/arguments.cc: arch/alpha/arguments.hh: arch/alpha/ev5.cc: arch/alpha/ev5.hh: arch/alpha/faults.cc: arch/alpha/faults.hh: arch/alpha/isa_desc: arch/alpha/isa_traits.hh: arch/alpha/osfpal.cc: arch/alpha/osfpal.hh: arch/alpha/pseudo_inst.cc: arch/alpha/pseudo_inst.hh: arch/alpha/vptr.hh: arch/alpha/vtophys.cc: arch/alpha/vtophys.hh: base/bitfield.hh: base/callback.hh: base/circlebuf.cc: base/circlebuf.hh: base/cprintf.cc: base/cprintf.hh: base/cprintf_formats.hh: base/crc.hh: base/date.cc: base/dbl_list.hh: base/endian.hh: base/fast_alloc.cc: base/fast_alloc.hh: base/fifo_buffer.cc: base/fifo_buffer.hh: base/hashmap.hh: base/hostinfo.cc: base/hostinfo.hh: base/hybrid_pred.cc: base/hybrid_pred.hh: base/inet.cc: base/inet.hh: base/inifile.cc: base/inifile.hh: base/intmath.cc: base/intmath.hh: base/match.cc: base/match.hh: base/misc.cc: base/misc.hh: base/mod_num.hh: base/mysql.cc: base/mysql.hh: base/output.cc: base/output.hh: base/pollevent.cc: base/pollevent.hh: base/predictor.hh: base/random.cc: base/random.hh: base/range.cc: base/range.hh: base/refcnt.hh: base/remote_gdb.cc: base/remote_gdb.hh: base/res_list.hh: base/sat_counter.cc: base/sat_counter.hh: base/sched_list.hh: base/socket.cc: base/socket.hh: base/statistics.cc: base/statistics.hh: base/compression/lzss_compression.cc: base/compression/lzss_compression.hh: base/compression/null_compression.hh: base/loader/aout_object.cc: base/loader/aout_object.hh: base/loader/ecoff_object.cc: base/loader/ecoff_object.hh: base/loader/elf_object.cc: base/loader/elf_object.hh: base/loader/object_file.cc: base/loader/object_file.hh: base/loader/symtab.cc: base/loader/symtab.hh: base/stats/events.cc: base/stats/events.hh: base/stats/flags.hh: base/stats/mysql.cc: base/stats/mysql.hh: base/stats/mysql_run.hh: base/stats/output.hh: base/stats/statdb.cc: base/stats/statdb.hh: base/stats/text.cc: base/stats/text.hh: base/stats/types.hh: base/stats/visit.cc: base/stats/visit.hh: base/str.cc: base/str.hh: base/time.cc: base/time.hh: base/timebuf.hh: base/trace.cc: base/trace.hh: base/userinfo.cc: base/userinfo.hh: build/SConstruct: cpu/base.cc: cpu/base.hh: cpu/base_dyn_inst.cc: cpu/base_dyn_inst.hh: cpu/exec_context.cc: cpu/exec_context.hh: cpu/exetrace.cc: cpu/exetrace.hh: cpu/inst_seq.hh: cpu/intr_control.cc: cpu/intr_control.hh: cpu/memtest/memtest.cc: cpu/pc_event.cc: cpu/pc_event.hh: cpu/smt.hh: cpu/static_inst.cc: cpu/static_inst.hh: cpu/memtest/memtest.hh: cpu/o3/sat_counter.cc: cpu/o3/sat_counter.hh: cpu/ozone/cpu.hh: cpu/simple/cpu.cc: cpu/simple/cpu.hh: cpu/trace/opt_cpu.cc: cpu/trace/opt_cpu.hh: cpu/trace/reader/ibm_reader.cc: cpu/trace/reader/ibm_reader.hh: cpu/trace/reader/itx_reader.cc: cpu/trace/reader/itx_reader.hh: cpu/trace/reader/m5_reader.cc: cpu/trace/reader/m5_reader.hh: cpu/trace/reader/mem_trace_reader.cc: cpu/trace/reader/mem_trace_reader.hh: cpu/trace/trace_cpu.cc: cpu/trace/trace_cpu.hh: dev/alpha_access.h: dev/alpha_console.cc: dev/alpha_console.hh: dev/baddev.cc: dev/baddev.hh: dev/disk_image.cc: dev/disk_image.hh: dev/etherbus.cc: dev/etherbus.hh: dev/etherdump.cc: dev/etherdump.hh: dev/etherint.cc: dev/etherint.hh: dev/etherlink.cc: dev/etherlink.hh: dev/etherpkt.cc: dev/etherpkt.hh: dev/ethertap.cc: dev/ethertap.hh: dev/ide_ctrl.cc: dev/ide_ctrl.hh: dev/ide_disk.cc: dev/ide_disk.hh: dev/io_device.cc: dev/io_device.hh: dev/ns_gige.cc: dev/ns_gige.hh: dev/ns_gige_reg.h: dev/pciconfigall.cc: dev/pciconfigall.hh: dev/pcidev.cc: dev/pcidev.hh: dev/pcireg.h: dev/pktfifo.cc: dev/pktfifo.hh: dev/platform.cc: dev/platform.hh: dev/simconsole.cc: dev/simconsole.hh: dev/simple_disk.cc: dev/simple_disk.hh: dev/sinic.cc: dev/sinic.hh: dev/sinicreg.hh: dev/tsunami.cc: dev/tsunami.hh: dev/tsunami_cchip.cc: dev/tsunami_cchip.hh: dev/tsunami_io.cc: dev/tsunami_io.hh: dev/tsunami_pchip.cc: dev/tsunami_pchip.hh: dev/tsunamireg.h: dev/uart.cc: dev/uart.hh: dev/uart8250.cc: dev/uart8250.hh: docs/stl.hh: encumbered/cpu/full/op_class.hh: kern/kernel_stats.cc: kern/kernel_stats.hh: kern/linux/linux.hh: kern/linux/linux_syscalls.cc: kern/linux/linux_syscalls.hh: kern/linux/linux_system.cc: kern/linux/linux_system.hh: kern/linux/linux_threadinfo.hh: kern/linux/printk.cc: kern/linux/printk.hh: kern/system_events.cc: kern/system_events.hh: kern/tru64/dump_mbuf.cc: kern/tru64/dump_mbuf.hh: kern/tru64/mbuf.hh: kern/tru64/printf.cc: kern/tru64/printf.hh: kern/tru64/tru64.hh: kern/tru64/tru64_events.cc: kern/tru64/tru64_events.hh: kern/tru64/tru64_syscalls.cc: kern/tru64/tru64_syscalls.hh: kern/tru64/tru64_system.cc: kern/tru64/tru64_system.hh: python/SConscript: python/m5/__init__.py: python/m5/config.py: python/m5/convert.py: python/m5/multidict.py: python/m5/smartdict.py: sim/async.hh: sim/builder.cc: sim/builder.hh: sim/debug.cc: sim/debug.hh: sim/eventq.cc: sim/eventq.hh: sim/host.hh: sim/main.cc: sim/param.cc: sim/param.hh: sim/process.cc: sim/process.hh: sim/root.cc: sim/serialize.cc: sim/serialize.hh: sim/sim_events.cc: sim/sim_events.hh: sim/sim_exit.hh: sim/sim_object.cc: sim/sim_object.hh: sim/startup.cc: sim/startup.hh: sim/stat_control.cc: sim/stat_control.hh: sim/stats.hh: sim/syscall_emul.cc: sim/syscall_emul.hh: sim/system.cc: sim/system.hh: test/bitvectest.cc: test/circletest.cc: test/cprintftest.cc: test/genini.py: test/initest.cc: test/lru_test.cc: test/nmtest.cc: test/offtest.cc: test/paramtest.cc: test/rangetest.cc: test/sized_test.cc: test/stattest.cc: test/strnumtest.cc: test/symtest.cc: test/tokentest.cc: test/tracetest.cc: util/ccdrv/devtime.c: util/m5/m5.c: util/oprofile-top.py: util/rundiff: util/m5/m5op.h: util/m5/m5op.s: util/stats/db.py: util/stats/dbinit.py: util/stats/display.py: util/stats/info.py: util/stats/print.py: util/stats/stats.py: util/tap/tap.cc: Update copyright dates and author list --HG-- extra : convert_revision : 0faba08fc0fc0146f1efb7f61e4b043c020ff9e4
326 lines
7.3 KiB
C++
326 lines
7.3 KiB
C++
/*
|
|
* Copyright (c) 2004-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.
|
|
*/
|
|
|
|
#ifndef __KERN_LINUX_LINUX_SYSCALLS_HH__
|
|
#define __KERN_LINUX_LINUX_SYSCALLS_HH__
|
|
|
|
#include "kern/linux/linux.hh"
|
|
|
|
template <class OS>
|
|
class SystemCalls;
|
|
|
|
template <>
|
|
class SystemCalls<Linux>
|
|
{
|
|
public:
|
|
enum {
|
|
syscall = 0,
|
|
llseek = 1,
|
|
newselect = 2,
|
|
sysctl = 3,
|
|
access = 4,
|
|
acct = 5,
|
|
adjtimex = 6,
|
|
afs_syscall = 7,
|
|
alarm = 8,
|
|
bdflush = 9,
|
|
_break = 10, /*renamed from break*/
|
|
brk = 11,
|
|
capget = 12,
|
|
capset = 13,
|
|
chdir = 14,
|
|
chmod = 15,
|
|
chown = 16,
|
|
chown32 = 17,
|
|
chroot = 18,
|
|
clock_getres = 19,
|
|
clock_gettime = 20,
|
|
clock_nanosleep = 21,
|
|
clock_settime = 22,
|
|
clone = 23,
|
|
close = 24,
|
|
creat = 25,
|
|
create_module = 26,
|
|
delete_module = 27,
|
|
dup = 28,
|
|
dup2 = 29,
|
|
epoll_create = 30,
|
|
epoll_ctl = 31,
|
|
epoll_wait = 32,
|
|
execve = 33,
|
|
exit = 34,
|
|
exit_group = 35,
|
|
fadvise64 = 36,
|
|
fadvise64_64 = 37,
|
|
fchdir = 38,
|
|
fchmod = 39,
|
|
fchown = 40,
|
|
fchown32 = 41,
|
|
fcntl = 42,
|
|
fcntl64 = 43,
|
|
fdatasync = 44,
|
|
fgetxattr = 45,
|
|
flistxattr = 46,
|
|
flock = 47,
|
|
fork = 48,
|
|
fremovexattr = 49,
|
|
fsetxattr = 50,
|
|
fstat = 51,
|
|
fstat64 = 52,
|
|
fstatfs = 53,
|
|
fstatfs64 = 54,
|
|
fsync = 55,
|
|
ftime = 56,
|
|
ftruncate = 57,
|
|
ftruncate64 = 58,
|
|
futex = 59,
|
|
get_kernel_syms = 60,
|
|
get_thread_area = 61,
|
|
getcwd = 62,
|
|
getdents = 63,
|
|
getdents64 = 64,
|
|
getegid = 65,
|
|
getegid32 = 66,
|
|
geteuid = 67,
|
|
geteuid32 = 68,
|
|
getgid = 69,
|
|
getgid32 = 70,
|
|
getgroups = 71,
|
|
getgroups32 = 72,
|
|
getitimer = 73,
|
|
getpgid = 74,
|
|
getpgrp = 75,
|
|
getpid = 76,
|
|
getpmsg = 77,
|
|
getppid = 78,
|
|
getpriority = 79,
|
|
getresgid = 80,
|
|
getresgid32 = 81,
|
|
getresuid = 82,
|
|
getresuid32 = 83,
|
|
getrlimit = 84,
|
|
getrusage = 85,
|
|
getsid = 86,
|
|
gettid = 87,
|
|
gettimeofday = 88,
|
|
getuid = 89,
|
|
getuid32 = 90,
|
|
getxattr = 91,
|
|
gtty = 92,
|
|
idle = 93,
|
|
init_module = 94,
|
|
io_cancel = 95,
|
|
io_destroy = 96,
|
|
io_getevents = 97,
|
|
io_setup = 98,
|
|
io_submit = 99,
|
|
ioctl = 100,
|
|
ioperm = 101,
|
|
iopl = 102,
|
|
ipc = 103,
|
|
kill = 104,
|
|
lchown = 105,
|
|
lchown32 = 106,
|
|
lgetxattr = 107,
|
|
link = 108,
|
|
listxattr = 109,
|
|
llistxattr = 110,
|
|
lock = 111,
|
|
lookup_dcookie = 112,
|
|
lremovexattr = 113,
|
|
lseek = 114,
|
|
lsetxattr = 115,
|
|
lstat = 116,
|
|
lstat64 = 117,
|
|
madvise = 118,
|
|
madvise1 = 119,
|
|
mincore = 120,
|
|
mkdir = 121,
|
|
mknod = 122,
|
|
mlock = 123,
|
|
mlockall = 124,
|
|
mmap = 125,
|
|
mmap2 = 126,
|
|
modify_ldt = 127,
|
|
mount = 128,
|
|
mprotect = 129,
|
|
mpx = 130,
|
|
mremap = 131,
|
|
msync = 132,
|
|
munlock = 133,
|
|
munlockall = 134,
|
|
munmap = 135,
|
|
nanosleep = 136,
|
|
nfsservctl = 137,
|
|
nice = 138,
|
|
oldfstat = 139,
|
|
oldlstat = 140,
|
|
oldolduname = 141,
|
|
oldstat = 142,
|
|
olduname = 143,
|
|
open = 144,
|
|
pause = 145,
|
|
personality = 146,
|
|
pipe = 147,
|
|
pivot_root = 148,
|
|
poll = 149,
|
|
prctl = 150,
|
|
pread64 = 151,
|
|
prof = 152,
|
|
profil = 153,
|
|
ptrace = 154,
|
|
putpmsg = 155,
|
|
pwrite64 = 156,
|
|
query_module = 157,
|
|
quotactl = 158,
|
|
read = 159,
|
|
readahead = 160,
|
|
readdir = 161,
|
|
readlink = 162,
|
|
readv = 163,
|
|
reboot = 164,
|
|
remap_file_pages = 165,
|
|
removexattr = 166,
|
|
rename = 167,
|
|
restart_syscall = 168,
|
|
rmdir = 169,
|
|
rt_sigaction = 170,
|
|
rt_sigpending = 171,
|
|
rt_sigprocmask = 172,
|
|
rt_sigqueueinfo = 173,
|
|
rt_sigreturn = 174,
|
|
rt_sigsuspend = 175,
|
|
rt_sigtimedwait = 176,
|
|
sched_get_priority_max = 177,
|
|
sched_get_priority_min = 178,
|
|
sched_getaffinity = 179,
|
|
sched_getparam = 180,
|
|
sched_getscheduler = 181,
|
|
sched_rr_get_interval = 182,
|
|
sched_setaffinity = 183,
|
|
sched_setparam = 184,
|
|
sched_setscheduler = 185,
|
|
sched_yield = 186,
|
|
select = 187,
|
|
sendfile = 188,
|
|
sendfile64 = 189,
|
|
set_thread_area = 190,
|
|
set_tid_address = 191,
|
|
setdomainname = 192,
|
|
setfsgid = 193,
|
|
setfsgid32 = 194,
|
|
setfsuid = 195,
|
|
setfsuid32 = 196,
|
|
setgid = 197,
|
|
setgid32 = 198,
|
|
setgroups = 199,
|
|
setgroups32 = 200,
|
|
sethostname = 201,
|
|
setitimer = 202,
|
|
setpgid = 203,
|
|
setpriority = 204,
|
|
setregid = 205,
|
|
setregid32 = 206,
|
|
setresgid = 207,
|
|
setresgid32 = 208,
|
|
setresuid = 209,
|
|
setresuid32 = 210,
|
|
setreuid = 211,
|
|
setreuid32 = 212,
|
|
setrlimit = 213,
|
|
setsid = 214,
|
|
settimeofday = 215,
|
|
setuid = 216,
|
|
setuid32 = 217,
|
|
setxattr = 218,
|
|
sgetmask = 219,
|
|
sigaction = 220,
|
|
sigaltstack = 221,
|
|
signal = 222,
|
|
sigpending = 223,
|
|
sigprocmask = 224,
|
|
sigreturn = 225,
|
|
sigsuspend = 226,
|
|
socketcall = 227,
|
|
ssetmask = 228,
|
|
stat = 229,
|
|
stat64 = 230,
|
|
statfs = 231,
|
|
statfs64 = 232,
|
|
stime = 233,
|
|
stty = 234,
|
|
swapoff = 235,
|
|
swapon = 236,
|
|
symlink = 237,
|
|
sync = 238,
|
|
sysfs = 239,
|
|
sysinfo = 240,
|
|
syslog = 241,
|
|
tgkill = 242,
|
|
time = 243,
|
|
timer_create = 244,
|
|
timer_delete = 245,
|
|
timer_getoverrun = 246,
|
|
timer_gettime = 247,
|
|
timer_settime = 248,
|
|
times = 249,
|
|
tkill = 250,
|
|
truncate = 251,
|
|
truncate64 = 252,
|
|
ugetrlimit = 253,
|
|
ulimit = 254,
|
|
umask = 255,
|
|
umount = 256,
|
|
umount2 = 257,
|
|
uname = 258,
|
|
unlink = 259,
|
|
uselib = 260,
|
|
ustat = 261,
|
|
utime = 262,
|
|
utimes = 263,
|
|
vfork = 264,
|
|
vhangup = 265,
|
|
vm86 = 266,
|
|
vm86old = 267,
|
|
vserver = 268,
|
|
wait4 = 269,
|
|
waitpid = 270,
|
|
write = 271,
|
|
writev = 272,
|
|
Number
|
|
};
|
|
|
|
static const char *name(int num);
|
|
|
|
static bool validSyscallNumber(int num) {
|
|
return num < Number;
|
|
}
|
|
|
|
};
|
|
|
|
#endif // __KERN_LINUX_LINUX_SYSCALLS_HH__
|