From: Daniel R. Carvalho Date: Thu, 7 Mar 2019 16:12:23 +0000 (+0100) Subject: python: Fix unknown params and proxy multiplication X-Git-Tag: v19.0.0.0~1058 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=7f9cbfae9a091363ec46102cc3e693ac94b51493;p=gem5.git 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 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/17048 Reviewed-by: Andreas Sandberg Reviewed-by: Jason Lowe-Power Reviewed-by: Nikos Nikoleris Maintainer: Andreas Sandberg --- diff --git a/src/python/m5/proxy.py b/src/python/m5/proxy.py index d28954555..86321964a 100644 --- a/src/python/m5/proxy.py +++ b/src/python/m5/proxy.py @@ -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):