diff options
author | Steve Reinhardt <stever@eecs.umich.edu> | 2005-03-16 23:10:17 -0500 |
---|---|---|
committer | Steve Reinhardt <stever@eecs.umich.edu> | 2005-03-16 23:10:17 -0500 |
commit | 090301366974386da75fe806a346d3ff953e1e2d (patch) | |
tree | 2755d2f1792353820297f50355c78fa4bc4d473c /python | |
parent | 14c461c93c9b83fffb0d629d347a28d4f7b79198 (diff) | |
download | gem5-090301366974386da75fe806a346d3ff953e1e2d.tar.xz |
Allow proxies to refer to proxies in config files.
python/m5/config.py:
Allow proxies to refer to other proxies and resolve by recurseivly calling unproxy().
Not sure this works completely (since I don't have any examples to test it on)
but it doesn't seem to break any existing config scripts.
--HG--
extra : convert_revision : d7fc272d0777d85f89104dfb5d1c5e4d8ddd6d6f
Diffstat (limited to 'python')
-rw-r--r-- | python/m5/config.py | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/python/m5/config.py b/python/m5/config.py index e6ad5a0ba..8e7576c41 100644 --- a/python/m5/config.py +++ b/python/m5/config.py @@ -197,12 +197,13 @@ class Proxy(object): raise AttributeError, \ 'Parent of %s type %s not found at path %s' \ % (base.name, ptype, self._path) - found, done = obj.find(ptype, self._path) - if isinstance(found, Proxy): - done = False + result, done = obj.find(ptype, self._path) obj = obj.parent - return self._mulcheck(found) + if isinstance(result, Proxy): + result = result.unproxy(obj, ptype) + + return self._mulcheck(result) def getindex(obj, index): if index == None: |