arch-arm: Do not check MustBeOne flag for TLB requests from the prefetcher
[gem5.git] / src / sim / syscall_desc.hh
index b4d24e67229cf1b11fa0d6e35053a8605d235c4d..451db084bb15a45b6996b18d85a996ad78c2193b 100644 (file)
 #include "base/types.hh"
 
 class Process;
+class SyscallDesc;
 class SyscallReturn;
 class ThreadContext;
 
+SyscallReturn unimplementedFunc(SyscallDesc *desc, int num,
+    Process *p, ThreadContext *tc);
+
 /**
  * This class provides the wrapper interface for the system call
  * implementations which are defined in the sim/syscall_emul files and
@@ -66,7 +70,8 @@ class SyscallDesc {
     typedef SyscallReturn (*SyscallExecutor)(SyscallDesc*, int num,
                                              Process*, ThreadContext*);
 
-    SyscallDesc(const char *name, SyscallExecutor sys_exec, int flags = 0)
+    SyscallDesc(const char *name,
+                SyscallExecutor sys_exec=unimplementedFunc, int flags=0)
         : _name(name), executor(sys_exec), _flags(flags), _warned(false)
     {
     }
@@ -107,6 +112,10 @@ class SyscallDesc {
 
     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;