process.cc (11885:79af314e9f0d) process.cc (11886:43b882cada33)
1/*
2 * Copyright (c) 2007 The Hewlett-Packard Development Company
3 * All rights reserved.
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

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

271 /* 48 */ SyscallDesc("shutdown", unimplementedFunc),
272 /* 49 */ SyscallDesc("bind", unimplementedFunc),
273 /* 50 */ SyscallDesc("listen", unimplementedFunc),
274 /* 51 */ SyscallDesc("getsockname", unimplementedFunc),
275 /* 52 */ SyscallDesc("getpeername", unimplementedFunc),
276 /* 53 */ SyscallDesc("socketpair", unimplementedFunc),
277 /* 54 */ SyscallDesc("setsockopt", unimplementedFunc),
278 /* 55 */ SyscallDesc("getsockopt", unimplementedFunc),
1/*
2 * Copyright (c) 2007 The Hewlett-Packard Development Company
3 * All rights reserved.
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

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

271 /* 48 */ SyscallDesc("shutdown", unimplementedFunc),
272 /* 49 */ SyscallDesc("bind", unimplementedFunc),
273 /* 50 */ SyscallDesc("listen", unimplementedFunc),
274 /* 51 */ SyscallDesc("getsockname", unimplementedFunc),
275 /* 52 */ SyscallDesc("getpeername", unimplementedFunc),
276 /* 53 */ SyscallDesc("socketpair", unimplementedFunc),
277 /* 54 */ SyscallDesc("setsockopt", unimplementedFunc),
278 /* 55 */ SyscallDesc("getsockopt", unimplementedFunc),
279 /* 56 */ SyscallDesc("clone", cloneFunc),
279 /* 56 */ SyscallDesc("clone", cloneFunc<X86Linux64>),
280 /* 57 */ SyscallDesc("fork", unimplementedFunc),
281 /* 58 */ SyscallDesc("vfork", unimplementedFunc),
280 /* 57 */ SyscallDesc("fork", unimplementedFunc),
281 /* 58 */ SyscallDesc("vfork", unimplementedFunc),
282 /* 59 */ SyscallDesc("execve", unimplementedFunc),
282 /* 59 */ SyscallDesc("execve", execveFunc<X86Linux64>),
283 /* 60 */ SyscallDesc("exit", exitFunc),
284 /* 61 */ SyscallDesc("wait4", unimplementedFunc),
285 /* 62 */ SyscallDesc("kill", unimplementedFunc),
286 /* 63 */ SyscallDesc("uname", unameFunc),
287 /* 64 */ SyscallDesc("semget", unimplementedFunc),
288 /* 65 */ SyscallDesc("semop", unimplementedFunc),
289 /* 66 */ SyscallDesc("semctl", unimplementedFunc),
290 /* 67 */ SyscallDesc("shmdt", unimplementedFunc),

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

433 /* 210 */ SyscallDesc("io_cancel", unimplementedFunc),
434 /* 211 */ SyscallDesc("get_thread_area", unimplementedFunc),
435 /* 212 */ SyscallDesc("lookup_dcookie", unimplementedFunc),
436 /* 213 */ SyscallDesc("epoll_create", unimplementedFunc),
437 /* 214 */ SyscallDesc("epoll_ctl_old", unimplementedFunc),
438 /* 215 */ SyscallDesc("epoll_wait_old", unimplementedFunc),
439 /* 216 */ SyscallDesc("remap_file_pages", unimplementedFunc),
440 /* 217 */ SyscallDesc("getdents64", unimplementedFunc),
283 /* 60 */ SyscallDesc("exit", exitFunc),
284 /* 61 */ SyscallDesc("wait4", unimplementedFunc),
285 /* 62 */ SyscallDesc("kill", unimplementedFunc),
286 /* 63 */ SyscallDesc("uname", unameFunc),
287 /* 64 */ SyscallDesc("semget", unimplementedFunc),
288 /* 65 */ SyscallDesc("semop", unimplementedFunc),
289 /* 66 */ SyscallDesc("semctl", unimplementedFunc),
290 /* 67 */ SyscallDesc("shmdt", unimplementedFunc),

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

433 /* 210 */ SyscallDesc("io_cancel", unimplementedFunc),
434 /* 211 */ SyscallDesc("get_thread_area", unimplementedFunc),
435 /* 212 */ SyscallDesc("lookup_dcookie", unimplementedFunc),
436 /* 213 */ SyscallDesc("epoll_create", unimplementedFunc),
437 /* 214 */ SyscallDesc("epoll_ctl_old", unimplementedFunc),
438 /* 215 */ SyscallDesc("epoll_wait_old", unimplementedFunc),
439 /* 216 */ SyscallDesc("remap_file_pages", unimplementedFunc),
440 /* 217 */ SyscallDesc("getdents64", unimplementedFunc),
441 /* 218 */ SyscallDesc("set_tid_address", unimplementedFunc),
441 /* 218 */ SyscallDesc("set_tid_address", setTidAddressFunc),
442 /* 219 */ SyscallDesc("restart_syscall", unimplementedFunc),
443 /* 220 */ SyscallDesc("semtimedop", unimplementedFunc),
444 /* 221 */ SyscallDesc("fadvise64", unimplementedFunc),
445 /* 222 */ SyscallDesc("timer_create", unimplementedFunc),
446 /* 223 */ SyscallDesc("timer_settime", unimplementedFunc),
447 /* 224 */ SyscallDesc("timer_gettime", unimplementedFunc),
448 /* 225 */ SyscallDesc("timer_getoverrun", unimplementedFunc),
449 /* 226 */ SyscallDesc("timer_delete", unimplementedFunc),

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

537};
538
539X86_64LinuxProcess::X86_64LinuxProcess(ProcessParams * params,
540 ObjectFile *objFile)
541 : X86_64Process(params, objFile, syscallDescs64,
542 sizeof(syscallDescs64) / sizeof(SyscallDesc))
543{}
544
442 /* 219 */ SyscallDesc("restart_syscall", unimplementedFunc),
443 /* 220 */ SyscallDesc("semtimedop", unimplementedFunc),
444 /* 221 */ SyscallDesc("fadvise64", unimplementedFunc),
445 /* 222 */ SyscallDesc("timer_create", unimplementedFunc),
446 /* 223 */ SyscallDesc("timer_settime", unimplementedFunc),
447 /* 224 */ SyscallDesc("timer_gettime", unimplementedFunc),
448 /* 225 */ SyscallDesc("timer_getoverrun", unimplementedFunc),
449 /* 226 */ SyscallDesc("timer_delete", unimplementedFunc),

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

537};
538
539X86_64LinuxProcess::X86_64LinuxProcess(ProcessParams * params,
540 ObjectFile *objFile)
541 : X86_64Process(params, objFile, syscallDescs64,
542 sizeof(syscallDescs64) / sizeof(SyscallDesc))
543{}
544
545void X86_64LinuxProcess::clone(ThreadContext *old_tc, ThreadContext *new_tc,
546 Process *process, TheISA::IntReg flags)
547{
548 X86_64Process::clone(old_tc, new_tc, (X86_64Process*)process, flags);
549}
550
545static SyscallDesc syscallDescs32[] = {
546 /* 0 */ SyscallDesc("restart_syscall", unimplementedFunc),
547 /* 1 */ SyscallDesc("exit", exitFunc),
548 /* 2 */ SyscallDesc("fork", unimplementedFunc),
549 /* 3 */ SyscallDesc("read", readFunc),
550 /* 4 */ SyscallDesc("write", writeFunc),
551 /* 5 */ SyscallDesc("open", openFunc<X86Linux32>),
552 /* 6 */ SyscallDesc("close", closeFunc),
553 /* 7 */ SyscallDesc("waitpid", unimplementedFunc),
554 /* 8 */ SyscallDesc("creat", unimplementedFunc),
555 /* 9 */ SyscallDesc("link", unimplementedFunc),
556 /* 10 */ SyscallDesc("unlink", unimplementedFunc),
551static SyscallDesc syscallDescs32[] = {
552 /* 0 */ SyscallDesc("restart_syscall", unimplementedFunc),
553 /* 1 */ SyscallDesc("exit", exitFunc),
554 /* 2 */ SyscallDesc("fork", unimplementedFunc),
555 /* 3 */ SyscallDesc("read", readFunc),
556 /* 4 */ SyscallDesc("write", writeFunc),
557 /* 5 */ SyscallDesc("open", openFunc<X86Linux32>),
558 /* 6 */ SyscallDesc("close", closeFunc),
559 /* 7 */ SyscallDesc("waitpid", unimplementedFunc),
560 /* 8 */ SyscallDesc("creat", unimplementedFunc),
561 /* 9 */ SyscallDesc("link", unimplementedFunc),
562 /* 10 */ SyscallDesc("unlink", unimplementedFunc),
557 /* 11 */ SyscallDesc("execve", unimplementedFunc),
563 /* 11 */ SyscallDesc("execve", execveFunc<X86Linux32>),
558 /* 12 */ SyscallDesc("chdir", unimplementedFunc),
559 /* 13 */ SyscallDesc("time", timeFunc<X86Linux32>),
560 /* 14 */ SyscallDesc("mknod", unimplementedFunc),
561 /* 15 */ SyscallDesc("chmod", unimplementedFunc),
562 /* 16 */ SyscallDesc("lchown", unimplementedFunc),
563 /* 17 */ SyscallDesc("break", unimplementedFunc),
564 /* 18 */ SyscallDesc("oldstat", unimplementedFunc),
565 /* 19 */ SyscallDesc("lseek", unimplementedFunc),

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

658 /* 112 */ SyscallDesc("idle", unimplementedFunc),
659 /* 113 */ SyscallDesc("vm86old", unimplementedFunc),
660 /* 114 */ SyscallDesc("wait4", unimplementedFunc),
661 /* 115 */ SyscallDesc("swapoff", unimplementedFunc),
662 /* 116 */ SyscallDesc("sysinfo", sysinfoFunc<X86Linux32>),
663 /* 117 */ SyscallDesc("ipc", unimplementedFunc),
664 /* 118 */ SyscallDesc("fsync", unimplementedFunc),
665 /* 119 */ SyscallDesc("sigreturn", unimplementedFunc),
564 /* 12 */ SyscallDesc("chdir", unimplementedFunc),
565 /* 13 */ SyscallDesc("time", timeFunc<X86Linux32>),
566 /* 14 */ SyscallDesc("mknod", unimplementedFunc),
567 /* 15 */ SyscallDesc("chmod", unimplementedFunc),
568 /* 16 */ SyscallDesc("lchown", unimplementedFunc),
569 /* 17 */ SyscallDesc("break", unimplementedFunc),
570 /* 18 */ SyscallDesc("oldstat", unimplementedFunc),
571 /* 19 */ SyscallDesc("lseek", unimplementedFunc),

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

664 /* 112 */ SyscallDesc("idle", unimplementedFunc),
665 /* 113 */ SyscallDesc("vm86old", unimplementedFunc),
666 /* 114 */ SyscallDesc("wait4", unimplementedFunc),
667 /* 115 */ SyscallDesc("swapoff", unimplementedFunc),
668 /* 116 */ SyscallDesc("sysinfo", sysinfoFunc<X86Linux32>),
669 /* 117 */ SyscallDesc("ipc", unimplementedFunc),
670 /* 118 */ SyscallDesc("fsync", unimplementedFunc),
671 /* 119 */ SyscallDesc("sigreturn", unimplementedFunc),
666 /* 120 */ SyscallDesc("clone", unimplementedFunc),
672 /* 120 */ SyscallDesc("clone", cloneFunc<X86Linux32>),
667 /* 121 */ SyscallDesc("setdomainname", unimplementedFunc),
668 /* 122 */ SyscallDesc("uname", unameFunc),
669 /* 123 */ SyscallDesc("modify_ldt", unimplementedFunc),
670 /* 124 */ SyscallDesc("adjtimex", unimplementedFunc),
671 /* 125 */ SyscallDesc("mprotect", ignoreFunc),
672 /* 126 */ SyscallDesc("sigprocmask", unimplementedFunc),
673 /* 127 */ SyscallDesc("create_module", unimplementedFunc),
674 /* 128 */ SyscallDesc("init_module", unimplementedFunc),

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

796 /* 250 */ SyscallDesc("fadvise64", unimplementedFunc),
797 /* 251 */ SyscallDesc("unused", unimplementedFunc),
798 /* 252 */ SyscallDesc("exit_group", exitFunc),
799 /* 253 */ SyscallDesc("lookup_dcookie", unimplementedFunc),
800 /* 254 */ SyscallDesc("epoll_create", unimplementedFunc),
801 /* 255 */ SyscallDesc("epoll_ctl", unimplementedFunc),
802 /* 256 */ SyscallDesc("epoll_wait", unimplementedFunc),
803 /* 257 */ SyscallDesc("remap_file_pages", unimplementedFunc),
673 /* 121 */ SyscallDesc("setdomainname", unimplementedFunc),
674 /* 122 */ SyscallDesc("uname", unameFunc),
675 /* 123 */ SyscallDesc("modify_ldt", unimplementedFunc),
676 /* 124 */ SyscallDesc("adjtimex", unimplementedFunc),
677 /* 125 */ SyscallDesc("mprotect", ignoreFunc),
678 /* 126 */ SyscallDesc("sigprocmask", unimplementedFunc),
679 /* 127 */ SyscallDesc("create_module", unimplementedFunc),
680 /* 128 */ SyscallDesc("init_module", unimplementedFunc),

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

802 /* 250 */ SyscallDesc("fadvise64", unimplementedFunc),
803 /* 251 */ SyscallDesc("unused", unimplementedFunc),
804 /* 252 */ SyscallDesc("exit_group", exitFunc),
805 /* 253 */ SyscallDesc("lookup_dcookie", unimplementedFunc),
806 /* 254 */ SyscallDesc("epoll_create", unimplementedFunc),
807 /* 255 */ SyscallDesc("epoll_ctl", unimplementedFunc),
808 /* 256 */ SyscallDesc("epoll_wait", unimplementedFunc),
809 /* 257 */ SyscallDesc("remap_file_pages", unimplementedFunc),
804 /* 258 */ SyscallDesc("set_tid_address", unimplementedFunc),
810 /* 258 */ SyscallDesc("set_tid_address", setTidAddressFunc),
805 /* 259 */ SyscallDesc("timer_create", unimplementedFunc),
806 /* 260 */ SyscallDesc("timer_settime", unimplementedFunc),
807 /* 261 */ SyscallDesc("timer_gettime", unimplementedFunc),
808 /* 262 */ SyscallDesc("timer_getoverrun", unimplementedFunc),
809 /* 263 */ SyscallDesc("timer_delete", unimplementedFunc),
810 /* 264 */ SyscallDesc("clock_settime", unimplementedFunc),
811 /* 265 */ SyscallDesc("clock_gettime", clock_gettimeFunc<X86Linux32>),
812 /* 266 */ SyscallDesc("clock_getres", unimplementedFunc),

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

868 /* 322 */ SyscallDesc("timerfd", unimplementedFunc),
869 /* 323 */ SyscallDesc("eventfd", unimplementedFunc)
870};
871
872I386LinuxProcess::I386LinuxProcess(ProcessParams * params, ObjectFile *objFile)
873 : I386Process(params, objFile, syscallDescs32,
874 sizeof(syscallDescs32) / sizeof(SyscallDesc))
875{}
811 /* 259 */ SyscallDesc("timer_create", unimplementedFunc),
812 /* 260 */ SyscallDesc("timer_settime", unimplementedFunc),
813 /* 261 */ SyscallDesc("timer_gettime", unimplementedFunc),
814 /* 262 */ SyscallDesc("timer_getoverrun", unimplementedFunc),
815 /* 263 */ SyscallDesc("timer_delete", unimplementedFunc),
816 /* 264 */ SyscallDesc("clock_settime", unimplementedFunc),
817 /* 265 */ SyscallDesc("clock_gettime", clock_gettimeFunc<X86Linux32>),
818 /* 266 */ SyscallDesc("clock_getres", unimplementedFunc),

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

874 /* 322 */ SyscallDesc("timerfd", unimplementedFunc),
875 /* 323 */ SyscallDesc("eventfd", unimplementedFunc)
876};
877
878I386LinuxProcess::I386LinuxProcess(ProcessParams * params, ObjectFile *objFile)
879 : I386Process(params, objFile, syscallDescs32,
880 sizeof(syscallDescs32) / sizeof(SyscallDesc))
881{}
882
883void I386LinuxProcess::clone(ThreadContext *old_tc, ThreadContext *new_tc,
884 Process *process, TheISA::IntReg flags)
885{
886 I386Process::clone(old_tc, new_tc, (I386Process*)process, flags);
887}