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

Reply via email to