process.cc (2680:246e7104f744) process.cc (2686:f0d591379ac3)
1/*
2 * Copyright (c) 2003-2005 The Regents of The University of Michigan
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

--- 121 unchanged lines hidden (view full) ---

130 /* 9 */ SyscallDesc("link", unimplementedFunc),
131 /* 10 */ SyscallDesc("unlink", unlinkFunc),
132 /* 11 */ SyscallDesc("execve", unimplementedFunc),
133 /* 12 */ SyscallDesc("chdir", unimplementedFunc),
134 /* 13 */ SyscallDesc("time", unimplementedFunc),
135 /* 14 */ SyscallDesc("mknod", unimplementedFunc),
136 /* 15 */ SyscallDesc("chmod", chmodFunc<MipsLinux>),
137 /* 16 */ SyscallDesc("lchown", chownFunc),
1/*
2 * Copyright (c) 2003-2005 The Regents of The University of Michigan
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

--- 121 unchanged lines hidden (view full) ---

130 /* 9 */ SyscallDesc("link", unimplementedFunc),
131 /* 10 */ SyscallDesc("unlink", unlinkFunc),
132 /* 11 */ SyscallDesc("execve", unimplementedFunc),
133 /* 12 */ SyscallDesc("chdir", unimplementedFunc),
134 /* 13 */ SyscallDesc("time", unimplementedFunc),
135 /* 14 */ SyscallDesc("mknod", unimplementedFunc),
136 /* 15 */ SyscallDesc("chmod", chmodFunc<MipsLinux>),
137 /* 16 */ SyscallDesc("lchown", chownFunc),
138 /* 17 */ SyscallDesc("break", obreakFunc), /*obreak*/
138 /* 17 */ SyscallDesc("break", obreakFunc),
139 /* 18 */ SyscallDesc("unused#18", unimplementedFunc),
140 /* 19 */ SyscallDesc("lseek", lseekFunc),
141 /* 20 */ SyscallDesc("getpid", getpidFunc),
142 /* 21 */ SyscallDesc("mount", unimplementedFunc),
143 /* 22 */ SyscallDesc("umount", unimplementedFunc),
144 /* 23 */ SyscallDesc("setuid", setuidFunc),
145 /* 24 */ SyscallDesc("getuid", getuidFunc),
146 /* 25 */ SyscallDesc("stime", unimplementedFunc),

--- 11 unchanged lines hidden (view full) ---

158 /* 37 */ SyscallDesc("kill", ignoreFunc),
159 /* 38 */ SyscallDesc("rename", unimplementedFunc),
160 /* 39 */ SyscallDesc("mkdir", unimplementedFunc),
161 /* 40 */ SyscallDesc("rmdir", unimplementedFunc),
162 /* 41 */ SyscallDesc("dup", unimplementedFunc),
163 /* 42 */ SyscallDesc("pipe", unimplementedFunc),
164 /* 43 */ SyscallDesc("times", unimplementedFunc),
165 /* 44 */ SyscallDesc("prof", unimplementedFunc),
139 /* 18 */ SyscallDesc("unused#18", unimplementedFunc),
140 /* 19 */ SyscallDesc("lseek", lseekFunc),
141 /* 20 */ SyscallDesc("getpid", getpidFunc),
142 /* 21 */ SyscallDesc("mount", unimplementedFunc),
143 /* 22 */ SyscallDesc("umount", unimplementedFunc),
144 /* 23 */ SyscallDesc("setuid", setuidFunc),
145 /* 24 */ SyscallDesc("getuid", getuidFunc),
146 /* 25 */ SyscallDesc("stime", unimplementedFunc),

--- 11 unchanged lines hidden (view full) ---

158 /* 37 */ SyscallDesc("kill", ignoreFunc),
159 /* 38 */ SyscallDesc("rename", unimplementedFunc),
160 /* 39 */ SyscallDesc("mkdir", unimplementedFunc),
161 /* 40 */ SyscallDesc("rmdir", unimplementedFunc),
162 /* 41 */ SyscallDesc("dup", unimplementedFunc),
163 /* 42 */ SyscallDesc("pipe", unimplementedFunc),
164 /* 43 */ SyscallDesc("times", unimplementedFunc),
165 /* 44 */ SyscallDesc("prof", unimplementedFunc),
166 /* 45 */ SyscallDesc("brk", obreakFunc),/*openFunc<MipsLinux>*/
166 /* 45 */ SyscallDesc("brk", obreakFunc),
167 /* 46 */ SyscallDesc("setgid", unimplementedFunc),
168 /* 47 */ SyscallDesc("getgid", getgidFunc),
169 /* 48 */ SyscallDesc("signal", ignoreFunc),
170 /* 49 */ SyscallDesc("geteuid", geteuidFunc),
171 /* 50 */ SyscallDesc("getegid", getegidFunc),
172 /* 51 */ SyscallDesc("acct", unimplementedFunc),
173 /* 52 */ SyscallDesc("umount2", unimplementedFunc),
174 /* 53 */ SyscallDesc("lock", unimplementedFunc),
175 /* 54 */ SyscallDesc("ioctl", ioctlFunc<MipsLinux>),
167 /* 46 */ SyscallDesc("setgid", unimplementedFunc),
168 /* 47 */ SyscallDesc("getgid", getgidFunc),
169 /* 48 */ SyscallDesc("signal", ignoreFunc),
170 /* 49 */ SyscallDesc("geteuid", geteuidFunc),
171 /* 50 */ SyscallDesc("getegid", getegidFunc),
172 /* 51 */ SyscallDesc("acct", unimplementedFunc),
173 /* 52 */ SyscallDesc("umount2", unimplementedFunc),
174 /* 53 */ SyscallDesc("lock", unimplementedFunc),
175 /* 54 */ SyscallDesc("ioctl", ioctlFunc<MipsLinux>),
176 /* 55 */ SyscallDesc("fcntl", unimplementedFunc),
176 /* 55 */ SyscallDesc("fcntl", fcntlFunc),
177 /* 56 */ SyscallDesc("mpx", unimplementedFunc),
178 /* 57 */ SyscallDesc("setpgid", unimplementedFunc),
179 /* 58 */ SyscallDesc("ulimit", unimplementedFunc),
180 /* 59 */ SyscallDesc("unused#59", unimplementedFunc),
181 /* 60 */ SyscallDesc("umask", unimplementedFunc),
182 /* 61 */ SyscallDesc("chroot", unimplementedFunc),
183 /* 62 */ SyscallDesc("ustat", unimplementedFunc),
184 /* 63 */ SyscallDesc("dup2", unimplementedFunc),

--- 20 unchanged lines hidden (view full) ---

205 /* 84 */ SyscallDesc("unused#84", unimplementedFunc),
206 /* 85 */ SyscallDesc("readlink", unimplementedFunc),
207 /* 86 */ SyscallDesc("uselib", unimplementedFunc),
208 /* 87 */ SyscallDesc("swapon", gethostnameFunc),
209 /* 88 */ SyscallDesc("reboot", unimplementedFunc),
210 /* 89 */ SyscallDesc("readdir", unimplementedFunc),
211 /* 90 */ SyscallDesc("mmap", mmapFunc<MipsLinux>),
212 /* 91 */ SyscallDesc("munmap",munmapFunc),
177 /* 56 */ SyscallDesc("mpx", unimplementedFunc),
178 /* 57 */ SyscallDesc("setpgid", unimplementedFunc),
179 /* 58 */ SyscallDesc("ulimit", unimplementedFunc),
180 /* 59 */ SyscallDesc("unused#59", unimplementedFunc),
181 /* 60 */ SyscallDesc("umask", unimplementedFunc),
182 /* 61 */ SyscallDesc("chroot", unimplementedFunc),
183 /* 62 */ SyscallDesc("ustat", unimplementedFunc),
184 /* 63 */ SyscallDesc("dup2", unimplementedFunc),

--- 20 unchanged lines hidden (view full) ---

205 /* 84 */ SyscallDesc("unused#84", unimplementedFunc),
206 /* 85 */ SyscallDesc("readlink", unimplementedFunc),
207 /* 86 */ SyscallDesc("uselib", unimplementedFunc),
208 /* 87 */ SyscallDesc("swapon", gethostnameFunc),
209 /* 88 */ SyscallDesc("reboot", unimplementedFunc),
210 /* 89 */ SyscallDesc("readdir", unimplementedFunc),
211 /* 90 */ SyscallDesc("mmap", mmapFunc<MipsLinux>),
212 /* 91 */ SyscallDesc("munmap",munmapFunc),
213 /* 92 */ SyscallDesc("truncate", fcntlFunc),
214 /* 93 */ SyscallDesc("ftruncate", unimplementedFunc),
213 /* 92 */ SyscallDesc("truncate", truncateFunc),
214 /* 93 */ SyscallDesc("ftruncate", ftruncateFunc),
215 /* 94 */ SyscallDesc("fchmod", unimplementedFunc),
216 /* 95 */ SyscallDesc("fchown", unimplementedFunc),
217 /* 96 */ SyscallDesc("getpriority", unimplementedFunc),
218 /* 97 */ SyscallDesc("setpriority", unimplementedFunc),
219 /* 98 */ SyscallDesc("profil", unimplementedFunc),
220 /* 99 */ SyscallDesc("statfs", unimplementedFunc),
221 /* 100 */ SyscallDesc("fstatfs", unimplementedFunc),
222 /* 101 */ SyscallDesc("ioperm", unimplementedFunc),

--- 34 unchanged lines hidden (view full) ---

257 /* 136 */ SyscallDesc("personality", unimplementedFunc),
258 /* 137 */ SyscallDesc("afs_syscall", unimplementedFunc),
259 /* 138 */ SyscallDesc("setfsuid", unimplementedFunc),
260 /* 139 */ SyscallDesc("setfsgid", unimplementedFunc),
261 /* 140 */ SyscallDesc("llseek", unimplementedFunc),
262 /* 141 */ SyscallDesc("getdents", unimplementedFunc),
263 /* 142 */ SyscallDesc("newselect", unimplementedFunc),
264 /* 143 */ SyscallDesc("flock", unimplementedFunc),
215 /* 94 */ SyscallDesc("fchmod", unimplementedFunc),
216 /* 95 */ SyscallDesc("fchown", unimplementedFunc),
217 /* 96 */ SyscallDesc("getpriority", unimplementedFunc),
218 /* 97 */ SyscallDesc("setpriority", unimplementedFunc),
219 /* 98 */ SyscallDesc("profil", unimplementedFunc),
220 /* 99 */ SyscallDesc("statfs", unimplementedFunc),
221 /* 100 */ SyscallDesc("fstatfs", unimplementedFunc),
222 /* 101 */ SyscallDesc("ioperm", unimplementedFunc),

--- 34 unchanged lines hidden (view full) ---

257 /* 136 */ SyscallDesc("personality", unimplementedFunc),
258 /* 137 */ SyscallDesc("afs_syscall", unimplementedFunc),
259 /* 138 */ SyscallDesc("setfsuid", unimplementedFunc),
260 /* 139 */ SyscallDesc("setfsgid", unimplementedFunc),
261 /* 140 */ SyscallDesc("llseek", unimplementedFunc),
262 /* 141 */ SyscallDesc("getdents", unimplementedFunc),
263 /* 142 */ SyscallDesc("newselect", unimplementedFunc),
264 /* 143 */ SyscallDesc("flock", unimplementedFunc),
265 /* 144 */ SyscallDesc("msync", unimplementedFunc),/*getrlimitFunc<MipsLinux>*/
265 /* 144 */ SyscallDesc("msync", unimplementedFunc),
266 /* 145 */ SyscallDesc("readv", unimplementedFunc),
267 /* 146 */ SyscallDesc("writev", writevFunc<MipsLinux>),
268 /* 147 */ SyscallDesc("cacheflush", unimplementedFunc),
269 /* 148 */ SyscallDesc("cachectl", unimplementedFunc),
270 /* 149 */ SyscallDesc("sysmips", unimplementedFunc),
271 /* 150 */ SyscallDesc("unused#150", unimplementedFunc),
272 /* 151 */ SyscallDesc("getsid", unimplementedFunc),
273 /* 152 */ SyscallDesc("fdatasync", unimplementedFunc),

--- 59 unchanged lines hidden (view full) ---

333 /* 212 */ SyscallDesc("ftruncate64", unimplementedFunc),
334 /* 213 */ SyscallDesc("stat64", unimplementedFunc),
335 /* 214 */ SyscallDesc("lstat64", lstat64Func<MipsLinux>),
336 /* 215 */ SyscallDesc("fstat64", fstat64Func<MipsLinux>),
337 /* 216 */ SyscallDesc("pivot_root", unimplementedFunc),
338 /* 217 */ SyscallDesc("mincore", unimplementedFunc),
339 /* 218 */ SyscallDesc("madvise", unimplementedFunc),
340 /* 219 */ SyscallDesc("getdents64", unimplementedFunc),
266 /* 145 */ SyscallDesc("readv", unimplementedFunc),
267 /* 146 */ SyscallDesc("writev", writevFunc<MipsLinux>),
268 /* 147 */ SyscallDesc("cacheflush", unimplementedFunc),
269 /* 148 */ SyscallDesc("cachectl", unimplementedFunc),
270 /* 149 */ SyscallDesc("sysmips", unimplementedFunc),
271 /* 150 */ SyscallDesc("unused#150", unimplementedFunc),
272 /* 151 */ SyscallDesc("getsid", unimplementedFunc),
273 /* 152 */ SyscallDesc("fdatasync", unimplementedFunc),

--- 59 unchanged lines hidden (view full) ---

333 /* 212 */ SyscallDesc("ftruncate64", unimplementedFunc),
334 /* 213 */ SyscallDesc("stat64", unimplementedFunc),
335 /* 214 */ SyscallDesc("lstat64", lstat64Func<MipsLinux>),
336 /* 215 */ SyscallDesc("fstat64", fstat64Func<MipsLinux>),
337 /* 216 */ SyscallDesc("pivot_root", unimplementedFunc),
338 /* 217 */ SyscallDesc("mincore", unimplementedFunc),
339 /* 218 */ SyscallDesc("madvise", unimplementedFunc),
340 /* 219 */ SyscallDesc("getdents64", unimplementedFunc),
341 /* 220 */ SyscallDesc("fcntl64", fcntlFunc),
341 /* 220 */ SyscallDesc("fcntl64", fcntl64Func),
342 /* 221 */ SyscallDesc("reserved#221", unimplementedFunc),
343 /* 222 */ SyscallDesc("gettid", unimplementedFunc),
344 /* 223 */ SyscallDesc("readahead", unimplementedFunc),
345 /* 224 */ SyscallDesc("setxattr", unimplementedFunc),
346 /* 225 */ SyscallDesc("lsetxattr", unimplementedFunc),
347 /* 226 */ SyscallDesc("fsetxattr", unimplementedFunc),
348 /* 227 */ SyscallDesc("getxattr", unimplementedFunc),
349 /* 228 */ SyscallDesc("lgetxattr", unimplementedFunc),

--- 59 unchanged lines hidden (view full) ---

409 int stdin_fd,
410 int stdout_fd,
411 int stderr_fd,
412 std::vector<std::string> &argv,
413 std::vector<std::string> &envp)
414 : MipsLiveProcess(name, objFile, system, stdin_fd, stdout_fd, stderr_fd,
415 argv, envp),
416 Num_Syscall_Descs(sizeof(syscallDescs) / sizeof(SyscallDesc))
342 /* 221 */ SyscallDesc("reserved#221", unimplementedFunc),
343 /* 222 */ SyscallDesc("gettid", unimplementedFunc),
344 /* 223 */ SyscallDesc("readahead", unimplementedFunc),
345 /* 224 */ SyscallDesc("setxattr", unimplementedFunc),
346 /* 225 */ SyscallDesc("lsetxattr", unimplementedFunc),
347 /* 226 */ SyscallDesc("fsetxattr", unimplementedFunc),
348 /* 227 */ SyscallDesc("getxattr", unimplementedFunc),
349 /* 228 */ SyscallDesc("lgetxattr", unimplementedFunc),

--- 59 unchanged lines hidden (view full) ---

409 int stdin_fd,
410 int stdout_fd,
411 int stderr_fd,
412 std::vector<std::string> &argv,
413 std::vector<std::string> &envp)
414 : MipsLiveProcess(name, objFile, system, stdin_fd, stdout_fd, stderr_fd,
415 argv, envp),
416 Num_Syscall_Descs(sizeof(syscallDescs) / sizeof(SyscallDesc))
417{
418 //init_regs->intRegFile[0] = 0;
419}
417{ }
420
421SyscallDesc*
422MipsLinuxProcess::getDesc(int callnum)
423{
424 //MIPS32 syscalls are in the range of 4000 - 4999
425 int m5_sys_idx = callnum - 4000;
426
427 if (m5_sys_idx < 0 || m5_sys_idx > Num_Syscall_Descs)
428 return NULL;
429
430 return &syscallDescs[m5_sys_idx];
431}
418
419SyscallDesc*
420MipsLinuxProcess::getDesc(int callnum)
421{
422 //MIPS32 syscalls are in the range of 4000 - 4999
423 int m5_sys_idx = callnum - 4000;
424
425 if (m5_sys_idx < 0 || m5_sys_idx > Num_Syscall_Descs)
426 return NULL;
427
428 return &syscallDescs[m5_sys_idx];
429}