summaryrefslogtreecommitdiff
path: root/src/sim/sub_system.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/sim/sub_system.hh')
-rw-r--r--src/sim/sub_system.hh17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/sim/sub_system.hh b/src/sim/sub_system.hh
index 6e35be676..20a352fc3 100644
--- a/src/sim/sub_system.hh
+++ b/src/sim/sub_system.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014 ARM Limited
+ * Copyright (c) 2014-2016 ARM Limited
* All rights reserved
*
* The license below extends only to copyright in the software and shall
@@ -45,10 +45,14 @@
#ifndef __SIM_SUB_SYSTEM_HH__
#define __SIM_SUB_SYSTEM_HH__
+#include <vector>
+
#include "params/SubSystem.hh"
#include "sim/power/thermal_domain.hh"
#include "sim/sim_object.hh"
+class PowerModel;
+
/**
* The SubSystem simobject does nothing, it is just a container for
* other simobjects used by the configuration system
@@ -58,6 +62,17 @@ class SubSystem : public SimObject
public:
typedef SubSystemParams Params;
SubSystem(const Params *p);
+
+ double getDynamicPower() const;
+
+ double getStaticPower() const;
+
+ void registerPowerProducer(PowerModel *pm) {
+ powerProducers.push_back(pm);
+ }
+
+ protected:
+ std::vector<PowerModel*> powerProducers;
};
#endif