diff options
author | Nathan Binkert <nate@binkert.org> | 2008-11-10 11:51:18 -0800 |
---|---|---|
committer | Nathan Binkert <nate@binkert.org> | 2008-11-10 11:51:18 -0800 |
commit | eb5d9ba72b0309e7f98c382e3a80ce0601dbe084 (patch) | |
tree | db510966579937d92bdacf4ad00b949e1ef0a5a8 /src/sim | |
parent | c25d966b06061402894b99a2362cb109275b73d1 (diff) | |
download | gem5-eb5d9ba72b0309e7f98c382e3a80ce0601dbe084.tar.xz |
pseudo inst: Add rpns (read processor nanoseconds) instruction.
This instruction basically returns the number of nanoseconds that the CPU
has been running.
Diffstat (limited to 'src/sim')
-rw-r--r-- | src/sim/pseudo_inst.cc | 6 | ||||
-rw-r--r-- | src/sim/pseudo_inst.hh | 1 |
2 files changed, 7 insertions, 0 deletions
diff --git a/src/sim/pseudo_inst.cc b/src/sim/pseudo_inst.cc index 409a6e009..e43279376 100644 --- a/src/sim/pseudo_inst.cc +++ b/src/sim/pseudo_inst.cc @@ -125,6 +125,12 @@ quiesceTime(ThreadContext *tc) return (tc->readLastActivate() - tc->readLastSuspend()) / Clock::Int::ns; } +uint64_t +rpns(ThreadContext *tc) +{ + return curTick / Clock::Int::ns; +} + void m5exit(ThreadContext *tc, Tick delay) { diff --git a/src/sim/pseudo_inst.hh b/src/sim/pseudo_inst.hh index 40702fced..80f58f80d 100644 --- a/src/sim/pseudo_inst.hh +++ b/src/sim/pseudo_inst.hh @@ -47,6 +47,7 @@ void quiesce(ThreadContext *tc); void quiesceNs(ThreadContext *tc, uint64_t ns); void quiesceCycles(ThreadContext *tc, uint64_t cycles); uint64_t quiesceTime(ThreadContext *tc); +uint64_t rpns(ThreadContext *tc); void m5exit(ThreadContext *tc, Tick delay); void loadsymbol(ThreadContext *xc); void resetstats(ThreadContext *tc, Tick delay, Tick period); |