From: Gabe Black Date: Sat, 23 Nov 2019 00:01:38 +0000 (-0800) Subject: sim: Get rid of the now unused SyscallDesc flags and methods. X-Git-Tag: v19.0.0.0~206 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3989d7830aec845d89948b1e7aa77099df5433bc;p=gem5.git sim: Get rid of the now unused SyscallDesc flags and methods. Jira Issue: https://gem5.atlassian.net/browse/GEM5-187 Change-Id: Icee18a4bd77a346d7f82ef4988651b753392d51e Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/23170 Tested-by: kokoro Reviewed-by: Giacomo Travaglini Reviewed-by: Gabe Black Maintainer: Gabe Black --- diff --git a/src/sim/syscall_desc.cc b/src/sim/syscall_desc.cc index bf378fe20..3d767f0ba 100644 --- a/src/sim/syscall_desc.cc +++ b/src/sim/syscall_desc.cc @@ -84,11 +84,3 @@ SyscallDesc::doSyscall(int callnum, ThreadContext *tc, Fault *fault) if (!retval.suppressed() && !retval.needsRetry()) process->setSyscallReturn(tc, retval); } - -bool -SyscallDesc::needWarning() -{ - bool suppress_warning = warnOnce() && _warned; - _warned = true; - return !suppress_warning; -} diff --git a/src/sim/syscall_desc.hh b/src/sim/syscall_desc.hh index 8f6e33d89..9a2859148 100644 --- a/src/sim/syscall_desc.hh +++ b/src/sim/syscall_desc.hh @@ -70,25 +70,10 @@ class SyscallDesc { using SyscallExecutor = std::function; - SyscallDesc(const char *name, - SyscallExecutor sys_exec=unimplementedFunc, int flags=0) - : _name(name), executor(sys_exec), _flags(flags), _warned(false) + SyscallDesc(const char *name, SyscallExecutor sys_exec=unimplementedFunc) + : _name(name), executor(sys_exec) {} - /** Provide a mechanism to specify behavior for abnormal system calls */ - enum Flags { - /** - * Do not set return registers according to executor return value. - * Used for system calls with non-standard return conventions that - * explicitly set the thread context regs (e.g., sigreturn, clone) - */ - SuppressReturnValue = 1, - /** Warn only once for unimplemented system calls */ - WarnOnce = 2 - /* X2 = 4, // Remove these comments when the next field is added; */ - /* X3 = 8, // point is to make it obvious that this defines vector */ - }; - /** * Interface for invoking the system call funcion pointer. Note that * this acts as a gateway for all system calls and serves a good point @@ -99,37 +84,14 @@ class SyscallDesc { */ void doSyscall(int callnum, ThreadContext *tc, Fault *fault); - /** - * Return false if WarnOnce is set and a warning has already been issued. - * Otherwise, return true. Updates state as a side effect to help - * keep track of issued warnings. - */ - bool needWarning(); - - bool warnOnce() const { return (_flags & WarnOnce); } - std::string name() { return _name; } - int getFlags() const { return _flags; } - - void setFlags(int flags) { _flags = flags; } - private: /** System call name (e.g., open, mmap, clone, socket, etc.) */ std::string _name; /** Mechanism for ISAs to connect to the emul function definitions */ SyscallExecutor executor; - - /** - * Holds values set with the preceding enum; note that this has been - * used primarily for features that are mutually exclusive, but there's - * no reason that this needs to be true going forward. - */ - int _flags; - - /** Set if WarnOnce is specified in flags AFTER first call */ - bool _warned; }; #endif // __SIM_SYSCALL_DESC_HH__