sim-se: ignore all scheduler related syscalls for arm

With the simplistic syscall emulation fork algorithm that we currently have
of running one thread per call, those calls simply cannot be reasonably
implemented.

However, content can often still work without them.

Change-Id: Iac88dfd055564c47b7a7b6898b7582cf4087f708
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/28591
Maintainer: Giacomo Travaglini <giacomo.travaglini@arm.com>
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com>
This commit is contained in:
Ciro Santilli
2019-11-04 19:10:30 +00:00
parent 66e598fa08
commit 0767ade61b

View File

@@ -290,14 +290,14 @@ class SyscallTable32 :
{ base + 151, "munlock" },
{ base + 152, "mlockall" },
{ base + 153, "munlockall" },
{ base + 154, "sched_setparam" },
{ base + 155, "sched_getparam" },
{ base + 156, "sched_setscheduler" },
{ base + 157, "sched_getscheduler" },
{ base + 158, "sched_yield" },
{ base + 159, "sched_get_priority_max" },
{ base + 160, "sched_get_priority_min" },
{ base + 161, "sched_rr_get_interval" },
{ base + 154, "sched_setparam", ignoreWarnOnceFunc },
{ base + 155, "sched_getparam", ignoreWarnOnceFunc },
{ base + 156, "sched_setscheduler", ignoreWarnOnceFunc },
{ base + 157, "sched_getscheduler", ignoreWarnOnceFunc },
{ base + 158, "sched_yield", ignoreWarnOnceFunc },
{ base + 159, "sched_get_priority_max", ignoreWarnOnceFunc },
{ base + 160, "sched_get_priority_min", ignoreWarnOnceFunc },
{ base + 161, "sched_rr_get_interval", ignoreWarnOnceFunc },
{ base + 162, "nanosleep", ignoreWarnOnceFunc },
{ base + 163, "mremap", mremapFunc<ArmLinux32> }, // ARM-specific
{ base + 164, "setresuid" },
@@ -375,7 +375,7 @@ class SyscallTable32 :
{ base + 238, "tkill" },
{ base + 239, "sendfile64" },
{ base + 240, "futex", futexFunc<ArmLinux32> },
{ base + 241, "sched_setaffinity" },
{ base + 241, "sched_setaffinity", ignoreWarnOnceFunc },
{ base + 242, "sched_getaffinity", ignoreFunc },
{ base + 243, "io_setup" },
{ base + 244, "io_destroy" },
@@ -631,16 +631,16 @@ class SyscallTable64 :
{ base + 115, "clock_nanosleep" },
{ base + 116, "syslog" },
{ base + 117, "ptrace" },
{ base + 118, "sched_setparam" },
{ base + 119, "sched_setscheduler" },
{ base + 120, "sched_getscheduler" },
{ base + 121, "sched_getparam" },
{ base + 122, "sched_setaffinity" },
{ base + 118, "sched_setparam", ignoreWarnOnceFunc },
{ base + 119, "sched_setscheduler", ignoreWarnOnceFunc },
{ base + 120, "sched_getscheduler", ignoreWarnOnceFunc },
{ base + 121, "sched_getparam", ignoreWarnOnceFunc },
{ base + 122, "sched_setaffinity", ignoreWarnOnceFunc },
{ base + 123, "sched_getaffinity", ignoreFunc },
{ base + 124, "sched_yield" },
{ base + 125, "sched_get_priority_max" },
{ base + 126, "sched_get_priority_min" },
{ base + 127, "sched_rr_get_interval" },
{ base + 124, "sched_yield", ignoreWarnOnceFunc },
{ base + 125, "sched_get_priority_max", ignoreWarnOnceFunc },
{ base + 126, "sched_get_priority_min", ignoreWarnOnceFunc },
{ base + 127, "sched_rr_get_interval", ignoreWarnOnceFunc },
{ base + 128, "restart_syscall" },
{ base + 129, "kill", ignoreFunc },
{ base + 130, "tkill" },