diff options
author | Daniel Sanchez <sanchezd@stanford.edu> | 2009-04-21 08:17:36 -0700 |
---|---|---|
committer | Daniel Sanchez <sanchezd@stanford.edu> | 2009-04-21 08:17:36 -0700 |
commit | b0e9654f8621729400ba627ed8c9bd0bf3833f7a (patch) | |
tree | 9d2131b1d6cfd177878b06595735627da7797527 /src/arch/x86/linux/syscalls.cc | |
parent | b0489d18ed74b542e311a2a7238cd5e19bd4b2ab (diff) | |
download | gem5-b0e9654f8621729400ba627ed8c9bd0bf3833f7a.tar.xz |
Commit m5threads package.
This patch adds limited multithreading support in syscall-emulation
mode, by using the clone system call. The clone system call works
for Alpha, SPARC and x86, and multithreaded applications run
correctly in Alpha and SPARC.
Diffstat (limited to 'src/arch/x86/linux/syscalls.cc')
-rw-r--r-- | src/arch/x86/linux/syscalls.cc | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/arch/x86/linux/syscalls.cc b/src/arch/x86/linux/syscalls.cc index 49a7d8b77..4d7bca95c 100644 --- a/src/arch/x86/linux/syscalls.cc +++ b/src/arch/x86/linux/syscalls.cc @@ -267,7 +267,7 @@ SyscallDesc X86_64LinuxProcess::syscallDescs[] = { /* 36 */ SyscallDesc("getitimer", unimplementedFunc), /* 37 */ SyscallDesc("alarm", unimplementedFunc), /* 38 */ SyscallDesc("setitimer", unimplementedFunc), - /* 39 */ SyscallDesc("getpid", unimplementedFunc), + /* 39 */ SyscallDesc("getpid", getpidFunc), /* 40 */ SyscallDesc("sendfile", unimplementedFunc), /* 41 */ SyscallDesc("socket", unimplementedFunc), /* 42 */ SyscallDesc("connect", unimplementedFunc), @@ -284,7 +284,7 @@ SyscallDesc X86_64LinuxProcess::syscallDescs[] = { /* 53 */ SyscallDesc("socketpair", unimplementedFunc), /* 54 */ SyscallDesc("setsockopt", unimplementedFunc), /* 55 */ SyscallDesc("getsockopt", unimplementedFunc), - /* 56 */ SyscallDesc("clone", unimplementedFunc), + /* 56 */ SyscallDesc("clone", cloneFunc), /* 57 */ SyscallDesc("fork", unimplementedFunc), /* 58 */ SyscallDesc("vfork", unimplementedFunc), /* 59 */ SyscallDesc("execve", unimplementedFunc), @@ -430,7 +430,7 @@ SyscallDesc X86_64LinuxProcess::syscallDescs[] = { /* 199 */ SyscallDesc("fremovexattr", unimplementedFunc), /* 200 */ SyscallDesc("tkill", unimplementedFunc), /* 201 */ SyscallDesc("time", unimplementedFunc), - /* 202 */ SyscallDesc("futex", unimplementedFunc), + /* 202 */ SyscallDesc("futex", ignoreFunc), /* 203 */ SyscallDesc("sched_setaffinity", unimplementedFunc), /* 204 */ SyscallDesc("sched_getaffinity", unimplementedFunc), /* 205 */ SyscallDesc("set_thread_area", unimplementedFunc), @@ -459,7 +459,7 @@ SyscallDesc X86_64LinuxProcess::syscallDescs[] = { /* 228 */ SyscallDesc("clock_gettime", unimplementedFunc), /* 229 */ SyscallDesc("clock_getres", unimplementedFunc), /* 230 */ SyscallDesc("clock_nanosleep", unimplementedFunc), - /* 231 */ SyscallDesc("exit_group", exitFunc), + /* 231 */ SyscallDesc("exit_group", exitGroupFunc), /* 232 */ SyscallDesc("epoll_wait", unimplementedFunc), /* 233 */ SyscallDesc("epoll_ctl", unimplementedFunc), /* 234 */ SyscallDesc("tgkill", unimplementedFunc), |