From 0767ade61b33672aa97fc90a098453cdf7a62051 Mon Sep 17 00:00:00 2001 From: Ciro Santilli Date: Mon, 4 Nov 2019 19:10:30 +0000 Subject: [PATCH] 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 --- src/arch/arm/linux/process.cc | 36 +++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) 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" }, -- 2.30.2