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} |
|