summaryrefslogtreecommitdiff
path: root/src/sim/power
diff options
context:
space:
mode:
Diffstat (limited to 'src/sim/power')
-rw-r--r--src/sim/power/PowerModel.py12
-rw-r--r--src/sim/power/PowerModelState.py13
-rw-r--r--src/sim/power/ThermalDomain.py10
-rw-r--r--src/sim/power/ThermalModel.py44
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")