cpu: remove unnecessary data ptr from O3 internal read() funcs
[gem5.git] / src / sim / Process.py
index 16be65fd4872b5248d4c8e1b7bd606dbed9c6a9f..ca9aaf5b11da11e7c2d9b97ce334ccab1b719149 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
@@ -33,19 +33,39 @@ from m5.proxy import *
 class Process(SimObject):
     type = 'Process'
     abstract = True
-    output = Param.String('cout', 'filename for stdout/stderr')
+    cxx_header = "sim/process.hh"
+    input = Param.String('cin', "filename for stdin")
+    output = Param.String('cout', 'filename for stdout')
+    errout = Param.String('cerr', 'filename for stderr')
     system = Param.System(Parent.any, "system process will run on")
+    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')
+    max_stack_size = Param.MemorySize('64MB', 'maximum size of the stack')
+
+    @classmethod
+    def export_methods(cls, code):
+        code('bool map(Addr vaddr, Addr paddr, int size, bool cacheable=true);')
+
+class EmulatedDriver(SimObject):
+    type = 'EmulatedDriver'
+    cxx_header = "sim/emul_driver.hh"
+    abstract = True
+    filename = Param.String("device file name (under /dev)")
 
 class LiveProcess(Process):
     type = 'LiveProcess'
+    cxx_header = "sim/process.hh"
     executable = Param.String('', "executable (overrides cmd[0] if set)")
     cmd = VectorParam.String("command line (executable plus arguments)")
-    env = VectorParam.String('', "environment settings")
+    env = VectorParam.String([], "environment settings")
     cwd = Param.String('', "current working directory")
-    input = Param.String('cin', "filename for stdin")
     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')
+    simpoint = Param.UInt64(0, 'simulation point at which to start simulation')
+    drivers = VectorParam.EmulatedDriver([], 'Available emulated drivers')
+