This is probably the least controversial patch, it just hooks up various
necessary syscalls.
diff -r f23a18fec0ef src/arch/x86/linux/syscalls.cc
--- a/src/arch/x86/linux/syscalls.cc Thu Sep 17 15:59:43 2009 -0400
+++ b/src/arch/x86/linux/syscalls.cc Mon Sep 21 23:03:51 2009 -0400
@@ -242,14 +242,14 @@
/* 11 */ SyscallDesc("munmap", munmapFunc),
/* 12 */ SyscallDesc("brk", brkFunc),
/* 13 */ SyscallDesc("rt_sigaction", unimplementedFunc),
- /* 14 */ SyscallDesc("rt_sigprocmask", unimplementedFunc),
+ /* 14 */ SyscallDesc("rt_sigprocmask", ignoreFunc),
/* 15 */ SyscallDesc("rt_sigreturn", unimplementedFunc),
/* 16 */ SyscallDesc("ioctl", unimplementedFunc),
/* 17 */ SyscallDesc("pread64", unimplementedFunc),
/* 18 */ SyscallDesc("pwrite64", unimplementedFunc),
/* 19 */ SyscallDesc("readv", unimplementedFunc),
/* 20 */ SyscallDesc("writev", writevFunc<X86Linux64>),
- /* 21 */ SyscallDesc("access", unimplementedFunc),
+ /* 21 */ SyscallDesc("access", ignoreFunc),
/* 22 */ SyscallDesc("pipe", unimplementedFunc),
/* 23 */ SyscallDesc("select", unimplementedFunc),
/* 24 */ SyscallDesc("sched_yield", unimplementedFunc),
@@ -328,7 +328,7 @@
/* 97 */ SyscallDesc("getrlimit", unimplementedFunc),
/* 98 */ SyscallDesc("getrusage", unimplementedFunc),
/* 99 */ SyscallDesc("sysinfo", sysinfoFunc<X86Linux64>),
- /* 100 */ SyscallDesc("times", unimplementedFunc),
+ /* 100 */ SyscallDesc("times", ignoreFunc),
/* 101 */ SyscallDesc("ptrace", unimplementedFunc),
/* 102 */ SyscallDesc("getuid", getuidFunc),
/* 103 */ SyscallDesc("syslog", unimplementedFunc),
@@ -388,7 +388,7 @@
/* 157 */ SyscallDesc("prctl", unimplementedFunc),
/* 158 */ SyscallDesc("arch_prctl", archPrctlFunc),
/* 159 */ SyscallDesc("adjtimex", unimplementedFunc),
- /* 160 */ SyscallDesc("setrlimit", unimplementedFunc),
+ /* 160 */ SyscallDesc("setrlimit", ignoreFunc),
/* 161 */ SyscallDesc("chroot", unimplementedFunc),
/* 162 */ SyscallDesc("sync", unimplementedFunc),
/* 163 */ SyscallDesc("acct", unimplementedFunc),
@@ -540,7 +540,7 @@
/* 30 */ SyscallDesc("utime", unimplementedFunc),
/* 31 */ SyscallDesc("stty", unimplementedFunc),
/* 32 */ SyscallDesc("gtty", unimplementedFunc),
- /* 33 */ SyscallDesc("access", unimplementedFunc),
+ /* 33 */ SyscallDesc("access", ignoreFunc),
/* 34 */ SyscallDesc("nice", unimplementedFunc),
/* 35 */ SyscallDesc("ftime", unimplementedFunc),
/* 36 */ SyscallDesc("sync", unimplementedFunc),
@@ -550,11 +550,11 @@
/* 40 */ SyscallDesc("rmdir", unimplementedFunc),
/* 41 */ SyscallDesc("dup", unimplementedFunc),
/* 42 */ SyscallDesc("pipe", unimplementedFunc),
- /* 43 */ SyscallDesc("times", unimplementedFunc),
+ /* 43 */ SyscallDesc("times", ignoreFunc),
/* 44 */ SyscallDesc("prof", unimplementedFunc),
/* 45 */ SyscallDesc("brk", brkFunc),
/* 46 */ SyscallDesc("setgid", unimplementedFunc),
- /* 47 */ SyscallDesc("getgid", unimplementedFunc),
+ /* 47 */ SyscallDesc("getgid", getgidFunc),
/* 48 */ SyscallDesc("signal", unimplementedFunc),
/* 49 */ SyscallDesc("geteuid", unimplementedFunc),
/* 50 */ SyscallDesc("getegid", unimplementedFunc),
@@ -582,7 +582,7 @@
/* 72 */ SyscallDesc("sigsuspend", unimplementedFunc),
/* 73 */ SyscallDesc("sigpending", unimplementedFunc),
/* 74 */ SyscallDesc("sethostname", unimplementedFunc),
- /* 75 */ SyscallDesc("setrlimit", unimplementedFunc),
+ /* 75 */ SyscallDesc("setrlimit", ignoreFunc),
/* 76 */ SyscallDesc("getrlimit", unimplementedFunc),
/* 77 */ SyscallDesc("getrusage", unimplementedFunc),
/* 78 */ SyscallDesc("gettimeofday", unimplementedFunc),
@@ -598,7 +598,7 @@
/* 88 */ SyscallDesc("reboot", unimplementedFunc),
/* 89 */ SyscallDesc("readdir", unimplementedFunc),
/* 90 */ SyscallDesc("mmap", unimplementedFunc),
- /* 91 */ SyscallDesc("munmap", unimplementedFunc),
+ /* 91 */ SyscallDesc("munmap", munmapFunc),
/* 92 */ SyscallDesc("truncate", unimplementedFunc),
/* 93 */ SyscallDesc("ftruncate", unimplementedFunc),
/* 94 */ SyscallDesc("fchmod", unimplementedFunc),
@@ -647,7 +647,7 @@
/* 137 */ SyscallDesc("afs_syscall", unimplementedFunc),
/* 138 */ SyscallDesc("setfsuid", unimplementedFunc),
/* 139 */ SyscallDesc("setfsgid", unimplementedFunc),
- /* 140 */ SyscallDesc("_llseek", unimplementedFunc),
+ /* 140 */ SyscallDesc("_llseek", _llseekFunc),
/* 141 */ SyscallDesc("getdents", unimplementedFunc),
/* 142 */ SyscallDesc("_newselect", unimplementedFunc),
/* 143 */ SyscallDesc("flock", unimplementedFunc),
@@ -681,8 +681,8 @@
/* 171 */ SyscallDesc("getresgid", unimplementedFunc),
/* 172 */ SyscallDesc("prctl", unimplementedFunc),
/* 173 */ SyscallDesc("rt_sigreturn", unimplementedFunc),
- /* 174 */ SyscallDesc("rt_sigaction", unimplementedFunc),
- /* 175 */ SyscallDesc("rt_sigprocmask", unimplementedFunc),
+ /* 174 */ SyscallDesc("rt_sigaction", ignoreFunc),
+ /* 175 */ SyscallDesc("rt_sigprocmask", ignoreFunc),
/* 176 */ SyscallDesc("rt_sigpending", unimplementedFunc),
/* 177 */ SyscallDesc("rt_sigtimedwait", unimplementedFunc),
/* 178 */ SyscallDesc("rt_sigqueueinfo", unimplementedFunc),
@@ -698,18 +698,18 @@
/* 188 */ SyscallDesc("getpmsg", unimplementedFunc),
/* 189 */ SyscallDesc("putpmsg", unimplementedFunc),
/* 190 */ SyscallDesc("vfork", unimplementedFunc),
- /* 191 */ SyscallDesc("ugetrlimit", unimplementedFunc),
+ /* 191 */ SyscallDesc("ugetrlimit", ignoreFunc),
/* 192 */ SyscallDesc("mmap2", mmapFunc<X86Linux32>),
/* 193 */ SyscallDesc("truncate64", unimplementedFunc),
/* 194 */ SyscallDesc("ftruncate64", unimplementedFunc),
- /* 195 */ SyscallDesc("stat64", unimplementedFunc),
+ /* 195 */ SyscallDesc("stat64", stat64Func<X86Linux32>),
/* 196 */ SyscallDesc("lstat64", unimplementedFunc),
/* 197 */ SyscallDesc("fstat64", fstat64Func<X86Linux32>),
/* 198 */ SyscallDesc("lchown32", unimplementedFunc),
- /* 199 */ SyscallDesc("getuid32", unimplementedFunc),
- /* 200 */ SyscallDesc("getgid32", unimplementedFunc),
- /* 201 */ SyscallDesc("geteuid32", unimplementedFunc),
- /* 202 */ SyscallDesc("getegid32", unimplementedFunc),
+ /* 199 */ SyscallDesc("getuid32", getuidFunc),
+ /* 200 */ SyscallDesc("getgid32", getgidFunc),
+ /* 201 */ SyscallDesc("geteuid32", geteuidFunc),
+ /* 202 */ SyscallDesc("getegid32", getegidFunc),
/* 203 */ SyscallDesc("setreuid32", unimplementedFunc),
/* 204 */ SyscallDesc("setregid32", unimplementedFunc),
/* 205 */ SyscallDesc("getgroups32", unimplementedFunc),
_______________________________________________
m5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/m5-dev