diff options
Diffstat (limited to 'src/sim/power')
-rw-r--r-- | src/sim/power/PowerModel.py | 12 | ||||
-rw-r--r-- | src/sim/power/PowerModelState.py | 13 | ||||
-rw-r--r-- | src/sim/power/ThermalDomain.py | 10 | ||||
-rw-r--r-- | src/sim/power/ThermalModel.py | 44 |
4 files changed, 33 insertions, 46 deletions
diff --git a/src/sim/power/PowerModel.py b/src/sim/power/PowerModel.py index 9002743cd..ecb45b442 100644 --- a/src/sim/power/PowerModel.py +++ b/src/sim/power/PowerModel.py @@ -35,7 +35,7 @@ # # Authors: David Guillen Fandos -from m5.SimObject import SimObject +from m5.SimObject import * from m5.params import * from m5.proxy import Parent @@ -46,12 +46,10 @@ class PowerModel(SimObject): type = 'PowerModel' cxx_header = "sim/power/power_model.hh" - @classmethod - def export_methods(cls, code): - code(''' - double getDynamicPower() const; - double getStaticPower() const; -''') + cxx_exports = [ + PyBindMethod("getDynamicPower"), + PyBindMethod("getStaticPower"), + ] # Keep a list of every model for every power state pm = VectorParam.PowerModelState([], "List of per-state power models.") diff --git a/src/sim/power/PowerModelState.py b/src/sim/power/PowerModelState.py index 1c37ab078..3089497c1 100644 --- a/src/sim/power/PowerModelState.py +++ b/src/sim/power/PowerModelState.py @@ -35,7 +35,7 @@ # # Authors: David Guillen Fandos -from m5.SimObject import SimObject +from m5.SimObject import * from m5.params import * # Represents a power model for a simobj @@ -45,11 +45,10 @@ class PowerModelState(SimObject): abstract = True cxx_class = 'PowerModelState' - @classmethod - def export_methods(cls, code): - code(''' - double getDynamicPower() const; - double getStaticPower() const; -''') + cxx_exports = [ + PyBindMethod("getDynamicPower"), + PyBindMethod("getStaticPower"), + ] + diff --git a/src/sim/power/ThermalDomain.py b/src/sim/power/ThermalDomain.py index 215d0863f..7d89d1a02 100644 --- a/src/sim/power/ThermalDomain.py +++ b/src/sim/power/ThermalDomain.py @@ -35,7 +35,7 @@ # # Authors: David Guillen Fandos -from m5.SimObject import SimObject +from m5.SimObject import * from m5.params import * # Represents a group of simobj which produce heat @@ -43,11 +43,9 @@ class ThermalDomain(SimObject): type = 'ThermalDomain' cxx_header = "sim/power/thermal_domain.hh" - @classmethod - def export_methods(cls, code): - code(''' - void setNode(ThermalNode * node); -''') + cxx_exports = [ + PyBindMethod("setNode"), + ] # Static temperature which may change over time initial_temperature = Param.Float(25.0, "Initial temperature") diff --git a/src/sim/power/ThermalModel.py b/src/sim/power/ThermalModel.py index 4c397119d..e6a01b2be 100644 --- a/src/sim/power/ThermalModel.py +++ b/src/sim/power/ThermalModel.py @@ -35,7 +35,7 @@ # # Authors: David Guillen Fandos -from m5.SimObject import SimObject +from m5.SimObject import * from ClockedObject import ClockedObject from m5.params import * @@ -52,11 +52,9 @@ class ThermalResistor(SimObject): type = 'ThermalResistor' cxx_header = "sim/power/thermal_model.hh" - @classmethod - def export_methods(cls, code): - code(''' - void setNodes(ThermalNode * node1, ThermalNode * node2); -''') + cxx_exports = [ + PyBindMethod("setNodes"), + ] resistance = Param.Float(1.0, "Thermal resistance, expressed in Kelvin per Watt") @@ -65,11 +63,9 @@ class ThermalCapacitor(SimObject): type = 'ThermalCapacitor' cxx_header = "sim/power/thermal_model.hh" - @classmethod - def export_methods(cls, code): - code(''' - void setNodes(ThermalNode * node1, ThermalNode * node2); -''') + cxx_exports = [ + PyBindMethod("setNodes"), + ] capacitance = Param.Float(1.0, "Thermal capacitance, expressed in Joules per Kelvin") @@ -78,11 +74,9 @@ class ThermalReference(SimObject, object): type = 'ThermalReference' cxx_header = "sim/power/thermal_model.hh" - @classmethod - def export_methods(cls, code): - code(''' - void setNode(ThermalNode * node); -''') + cxx_exports = [ + PyBindMethod("setNode"), + ] # Static temperature which may change over time temperature = Param.Float(25.0, "Operational temperature in Celsius") @@ -93,16 +87,14 @@ class ThermalModel(ClockedObject): type = 'ThermalModel' cxx_header = "sim/power/thermal_model.hh" - @classmethod - def export_methods(cls, code): - code(''' - void addCapacitor(ThermalCapacitor *obj); - void addResistor(ThermalResistor *obj); - void addReference(ThermalReference *obj); - void addDomain(ThermalDomain *obj); - void addNode(ThermalNode *obj); - void doStep(); -''') + cxx_exports = [ + PyBindMethod("addCapacitor"), + PyBindMethod("addResistor"), + PyBindMethod("addReference"), + PyBindMethod("addDomain"), + PyBindMethod("addNode"), + PyBindMethod("doStep"), + ] step = Param.Float(0.01, "Simulation step (in seconds) for thermal simulation") |