python: Fix unknown params and proxy multiplication

One of the recent changes made params not visible anymore:
    NameError: global name 'params' is not defined
This is fixed by adding the proper import statement.

However, the second error makes the multiplication values be assigned
to other proxies (that are not even used on the multiplication). A
workaround is added to prevent this from happening by extending "*=".

Change-Id: I3ad276a456efff62058672d16caac2b3ad1b326b
Signed-off-by: Daniel R. Carvalho <odanrc@yahoo.com.br>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/17048
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>
This commit is contained in:
Daniel R. Carvalho
2019-03-07 17:12:23 +01:00
committed by Daniel Carvalho
parent 66c80fcb44
commit 7f9cbfae9a

View File

@@ -87,6 +87,7 @@ class BaseProxy(object):
__rmul__ = __mul__
def _mulcheck(self, result, base):
from . import params
for multiplier in self._multipliers:
if isproxy(multiplier):
multiplier = multiplier.unproxy(base)
@@ -96,7 +97,7 @@ class BaseProxy(object):
raise TypeError(
"Proxy multiplier must be a numerical param")
multiplier = multiplier.getValue()
result *= multiplier
result = result * multiplier
return result
def unproxy(self, base):