power: Allow global stats in power equations
Allow global stats such as sim_seconds in power equations to make it possible to convert from event stats to rate stats. Change-Id: I429abe0ffadc0dbd162eb39e0897143be472ef65 Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com> Reviewed-on: https://gem5-review.googlesource.com/2720 Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
This commit is contained in:
committed by
Andreas Sandberg
parent
9833153bd2
commit
f7b3df49c1
@@ -39,6 +39,8 @@
|
||||
|
||||
#include "sim/power/mathexpr_powermodel.hh"
|
||||
|
||||
#include <string>
|
||||
|
||||
#include "base/statistics.hh"
|
||||
#include "params/MathExprPowerModel.hh"
|
||||
#include "sim/mathexpr.hh"
|
||||
@@ -62,9 +64,15 @@ MathExprPowerModel::startup()
|
||||
{
|
||||
// Create a map with stats and pointers for quick access
|
||||
// Has to be done here, since we need access to the statsList
|
||||
for (auto & i: Stats::statsList())
|
||||
if (i->name.find(basename) == 0)
|
||||
for (auto & i: Stats::statsList()) {
|
||||
if (i->name.find(basename) == 0) {
|
||||
// Add stats for this sim object and its child objects
|
||||
stats_map[i->name.substr(basename.size())] = i;
|
||||
} else if (i->name.find(".") == std::string::npos) {
|
||||
// Add global stats (sim_seconds, for example)
|
||||
stats_map[i->name] = i;
|
||||
}
|
||||
}
|
||||
|
||||
tryEval(st_expr);
|
||||
const bool st_failed = failed;
|
||||
|
||||
Reference in New Issue
Block a user