From be28d96510e0e722db83b26f1a12d3f5de979b32 Mon Sep 17 00:00:00 2001 From: Andreas Sandberg Date: Wed, 6 Apr 2016 19:43:31 +0100 Subject: Revert power patch sets with unexpected interactions The following patches had unexpected interactions with the current upstream code and have been reverted for now: e07fd01651f3: power: Add support for power models 831c7f2f9e39: power: Low-power idle power state for idle CPUs 4f749e00b667: power: Add power states to ClockedObject Signed-off-by: Andreas Sandberg --HG-- extra : amend_source : 0b6fb073c6bbc24be533ec431eb51fbf1b269508 --- src/sim/power/mathexpr_powermodel.hh | 111 ----------------------------------- 1 file changed, 111 deletions(-) delete mode 100644 src/sim/power/mathexpr_powermodel.hh (limited to 'src/sim/power/mathexpr_powermodel.hh') diff --git a/src/sim/power/mathexpr_powermodel.hh b/src/sim/power/mathexpr_powermodel.hh deleted file mode 100644 index 43584fbd8..000000000 --- a/src/sim/power/mathexpr_powermodel.hh +++ /dev/null @@ -1,111 +0,0 @@ -/* - * Copyright (c) 2015 ARM Limited - * All rights reserved - * - * The license below extends only to copyright in the software and shall - * not be construed as granting a license to any other intellectual - * property including but not limited to intellectual property relating - * to a hardware implementation of the functionality of the software - * licensed hereunder. You may use the software subject to the license - * terms below provided that you ensure that this notice is replicated - * unmodified and in its entirety in all distributions of the software, - * modified or unmodified, in source code or in binary form. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer; - * redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution; - * neither the name of the copyright holders nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Authors: David Guillen Fandos - */ - -#ifndef __SIM_MATHEXPR_POWERMODEL_PM_HH__ -#define __SIM_MATHEXPR_POWERMODEL_PM_HH__ - -#include - -#include "base/statistics.hh" -#include "params/MathExprPowerModel.hh" -#include "sim/mathexpr.hh" -#include "sim/power/power_model.hh" -#include "sim/sim_object.hh" - -/** - * A Equation power model. The power is represented as a combination - * of some stats and automatic variables (like temperature). - */ -class MathExprPowerModel : public PowerModelState -{ - public: - - typedef MathExprPowerModelParams Params; - MathExprPowerModel(const Params *p); - - /** - * Get the dynamic power consumption. - * - * @return Power (Watts) consumed by this object (dynamic component) - */ - double getDynamicPower() const { - return dyn_expr.eval( - std::bind(&MathExprPowerModel::getStatValue, - this, std::placeholders::_1) - ); - } - - /** - * Get the static power consumption. - * - * @return Power (Watts) consumed by this object (static component) - */ - double getStaticPower() const { - return st_expr.eval( - std::bind(&MathExprPowerModel::getStatValue, - this, std::placeholders::_1) - ); - } - - /** - * Get the value for a variable (maps to a stat) - * - * @param name Name of the variable to retrieve the value from - * - * @return Power (Watts) consumed by this object (static component) - */ - double getStatValue(const std::string & name) const; - - void startup(); - - void regStats(); - - private: - - // Math expressions for dynamic and static power - MathExpr dyn_expr, st_expr; - - // Basename of the object in the gem5 stats hierachy - std::string basename; - - // Map that contains relevant stats for this power model - std::unordered_map stats_map; -}; - -#endif -- cgit v1.2.3