diff options
author | Gabe Black <gabeblack@google.com> | 2019-11-22 16:01:38 -0800 |
---|---|---|
committer | Gabe Black <gabeblack@google.com> | 2019-12-10 23:58:14 +0000 |
commit | 3989d7830aec845d89948b1e7aa77099df5433bc (patch) | |
tree | daed4342e58b70c564af9221a5c10c72b6eab75b /src | |
parent | d81ea82a23a1f8fe3f7ef2f76b4cf7ee73fed0bf (diff) | |
download | gem5-3989d7830aec845d89948b1e7aa77099df5433bc.tar.xz |
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 <noreply+kokoro@google.com>
Reviewed-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/sim/syscall_desc.cc | 8 | ||||
-rw-r--r-- | src/sim/syscall_desc.hh | 42 |
2 files changed, 2 insertions, 48 deletions
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<SyscallReturn(SyscallDesc *, int num, ThreadContext *)>; - 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__ |