sim: Get rid of the now unused SyscallDesc flags and methods.
authorGabe Black <gabeblack@google.com>
Sat, 23 Nov 2019 00:01:38 +0000 (16:01 -0800)
committerGabe Black <gabeblack@google.com>
Tue, 10 Dec 2019 23:58:14 +0000 (23:58 +0000)
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>

src/sim/syscall_desc.cc
src/sim/syscall_desc.hh

index bf378fe20bd999d42aed31ce0846168dd34535fe..3d767f0ba68466fb508e1c3df9675d1b508438ab 100644 (file)
@@ -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;
-}
index 8f6e33d89fdef6e5679795e225825d661a29787e..9a28591480f33ec852143796d379dd4cefe2ee83 100644 (file)
@@ -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__