From 7f9cbfae9a091363ec46102cc3e693ac94b51493 Mon Sep 17 00:00:00 2001 From: "Daniel R. Carvalho" Date: Thu, 7 Mar 2019 17:12:23 +0100 Subject: [PATCH] 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 --- src/python/m5/proxy.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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): -- 2.30.2