37 lines
1.2 KiB
Python
37 lines
1.2 KiB
Python
from m5.SimObject import SimObject
|
|
from m5.params import *
|
|
from m5.proxy import *
|
|
class Process(SimObject):
|
|
type = 'Process'
|
|
abstract = True
|
|
output = Param.String('cout', 'filename for stdout/stderr')
|
|
system = Param.System(Parent.any, "system process will run on")
|
|
|
|
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")
|
|
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')
|
|
|
|
class AlphaLiveProcess(LiveProcess):
|
|
type = 'AlphaLiveProcess'
|
|
|
|
class SparcLiveProcess(LiveProcess):
|
|
type = 'SparcLiveProcess'
|
|
|
|
class MipsLiveProcess(LiveProcess):
|
|
type = 'MipsLiveProcess'
|
|
|
|
class EioProcess(Process):
|
|
type = 'EioProcess'
|
|
chkpt = Param.String('', "EIO checkpoint file name (optional)")
|
|
file = Param.String("EIO trace file name")
|