From: Ciro Santilli Date: Mon, 4 Nov 2019 19:10:30 +0000 (+0000) Subject: sim-se: ignore all scheduler related syscalls for arm X-Git-Tag: v20.1.0.0~636 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0767ade61b33672aa97fc90a098453cdf7a62051;p=gem5.git 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 Tested-by: kokoro Reviewed-by: Jason Lowe-Power --- diff --git a/src/arch/arm/linux/process.cc b/src/arch/arm/linux/process.cc index 55141ba11..4c679b3ca 100644 --- a/src/arch/arm/linux/process.cc +++ b/src/arch/arm/linux/process.cc @@ -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 }, // ARM-specific { base + 164, "setresuid" }, @@ -375,7 +375,7 @@ class SyscallTable32 : { base + 238, "tkill" }, { base + 239, "sendfile64" }, { base + 240, "futex", futexFunc }, - { 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" },