arch-arm, dev-arm: Remove Python 2 compatibility code
[gem5.git] / src / sim / Process.py
index 07ed2c6920e21644e5c63ad6b0c53e6764246a95..bdcb8262c464bc162f186d11007f40533853507a 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (c) 2005-2007 The Regents of The University of Michigan
+# Copyright (c) 2005-2008 The Regents of The University of Michigan
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-# Authors: Nathan Binkert
 
-from m5.SimObject import SimObject
+from m5.SimObject import *
 from m5.params import *
 from m5.proxy import *
+from os import getcwd
 
 class Process(SimObject):
     type = 'Process'
-    abstract = True
+    cxx_header = "sim/process.hh"
+
+    @cxxMethod
+    def map(self, vaddr, paddr, size, cacheable=False):
+        pass
+
     input = Param.String('cin', "filename for stdin")
-    output = Param.String('cout', 'filename for stdout/stderr')
+    output = Param.String('cout', 'filename for stdout')
+    errout = Param.String('cerr', 'filename for stderr')
     system = Param.System(Parent.any, "system process will run on")
-    max_stack_size = Param.MemorySize('64MB', 'maximum size of the stack')
+    useArchPT = Param.Bool('false', 'maintain an in-memory version of the page\
+                            table in an architecture-specific format')
+    kvmInSE = Param.Bool('false', 'initialize the process for KvmCPU in SE')
+    maxStackSize = Param.MemorySize('64MB', 'maximum size of the stack')
 
-class LiveProcess(Process):
-    type = 'LiveProcess'
-    executable = Param.String('', "executable (overrides cmd[0] if set)")
-    cmd = VectorParam.String("command line (executable plus arguments)")
-    env = VectorParam.String([], "environment settings")
-    cwd = Param.String('', "current working directory")
     uid = Param.Int(100, 'user id')
     euid = Param.Int(100, 'effective user id')
     gid = Param.Int(100, 'group id')
     egid = Param.Int(100, 'effective group id')
     pid = Param.Int(100, 'process id')
-    ppid = Param.Int(99, 'parent process id')
+    ppid = Param.Int(0, 'parent process id')
+    pgid = Param.Int(100, 'process group id')
+
+    executable = Param.String('', "executable (overrides cmd[0] if set)")
+    cmd = VectorParam.String("command line (executable plus arguments)")
+    env = VectorParam.String([], "environment settings")
+    cwd = Param.String(getcwd(), "current working directory")
+    simpoint = Param.UInt64(0, 'simulation point at which to start simulation')
+    drivers = VectorParam.EmulatedDriver([], 'Available emulated drivers')
+    release = Param.String('5.1.0', "Linux kernel uname release")
+
+    @classmethod
+    def export_methods(cls, code):
+        code('bool map(Addr vaddr, Addr paddr, int sz, bool cacheable=true);')
+
+class EmulatedDriver(SimObject):
+    type = 'EmulatedDriver'
+    cxx_header = "sim/emul_driver.hh"
+    abstract = True
+    filename = Param.String("device file name (under /dev)")