diff options
author | Gabe Black <gblack@eecs.umich.edu> | 2006-09-03 02:04:25 -0400 |
---|---|---|
committer | Gabe Black <gblack@eecs.umich.edu> | 2006-09-03 02:04:25 -0400 |
commit | 96dabdc9b0fbffbdf6fb7099f21924f4702d6f91 (patch) | |
tree | 1b39602f62d8ea769a46370969f05f1657190324 | |
parent | 14cc9baba59a7f93187933efd15f9cd1b94c25ed (diff) | |
download | gem5-96dabdc9b0fbffbdf6fb7099f21924f4702d6f91.tar.xz |
Added uid, euid, gid, egid, pid and ppid parameters to a live process.
--HG--
extra : convert_revision : 2101be8000bcdaf683730cfc079b4b78e34365d0
-rw-r--r-- | src/python/m5/objects/Process.py | 6 | ||||
-rw-r--r-- | src/sim/process.cc | 14 | ||||
-rw-r--r-- | src/sim/process.hh | 10 |
3 files changed, 29 insertions, 1 deletions
diff --git a/src/python/m5/objects/Process.py b/src/python/m5/objects/Process.py index 0091d8654..0b44aac8b 100644 --- a/src/python/m5/objects/Process.py +++ b/src/python/m5/objects/Process.py @@ -11,6 +11,12 @@ class LiveProcess(Process): cmd = VectorParam.String("command line (executable plus arguments)") env = VectorParam.String('', "environment settings") 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' diff --git a/src/sim/process.cc b/src/sim/process.cc index 081a25976..20f7fec2d 100644 --- a/src/sim/process.cc +++ b/src/sim/process.cc @@ -460,6 +460,12 @@ BEGIN_DECLARE_SIM_OBJECT_PARAMS(LiveProcess) Param<string> output; VectorParam<string> env; SimObjectParam<System *> system; + Param<uint64_t> uid; + Param<uint64_t> euid; + Param<uint64_t> gid; + Param<uint64_t> egid; + Param<uint64_t> pid; + Param<uint64_t> ppid; END_DECLARE_SIM_OBJECT_PARAMS(LiveProcess) @@ -471,7 +477,13 @@ BEGIN_INIT_SIM_OBJECT_PARAMS(LiveProcess) INIT_PARAM(input, "filename for stdin (dflt: use sim stdin)"), INIT_PARAM(output, "filename for stdout/stderr (dflt: use sim stdout)"), INIT_PARAM(env, "environment settings"), - INIT_PARAM(system, "system") + INIT_PARAM(system, "system"), + INIT_PARAM(uid, "user id"), + INIT_PARAM(euid, "effective user id"), + INIT_PARAM(gid, "group id"), + INIT_PARAM(egid, "effective group id"), + INIT_PARAM(pid, "process id"), + INIT_PARAM(ppid, "parent process id") END_INIT_SIM_OBJECT_PARAMS(LiveProcess) diff --git a/src/sim/process.hh b/src/sim/process.hh index 763deb100..d64cc3cf1 100644 --- a/src/sim/process.hh +++ b/src/sim/process.hh @@ -75,6 +75,16 @@ class Process : public SimObject // number of CPUs (esxec contexts, really) assigned to this process. unsigned int numCpus() { return threadContexts.size(); } + // Id of the owner of the process + uint64_t uid; + uint64_t euid; + uint64_t gid; + uint64_t egid; + + // pid of the process and it's parent + uint64_t pid; + uint64_t ppid; + // record of blocked context struct WaitRec { |