/*
- * 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
#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
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