summaryrefslogtreecommitdiff
path: root/src/python/m5/proxy.py
diff options
context:
space:
mode:
authorAndreas Hansson <andreas.hansson@arm.com>2012-04-05 10:44:35 -0400
committerAndreas Hansson <andreas.hansson@arm.com>2012-04-05 10:44:35 -0400
commitaab2001ab7a8196eb01be1a05977400fed8d8d79 (patch)
treef6767b7fb540f1e3f45fc0a28f68955381ff8c48 /src/python/m5/proxy.py
parenta8e6adb0b1284e89a63bcb14fe1fdace2b89e0c8 (diff)
downloadgem5-aab2001ab7a8196eb01be1a05977400fed8d8d79.tar.xz
Python: Make the All proxy traverse SimObject children as well
This patch changes the behaviour of the All proxy parameter to not only consider the direct children, but also do a pre-order depth-first traversal of the object tree and append all results from the children. This is used in a later patch to find all the memories in the system, independent of where they are located in the hierarchy.
Diffstat (limited to 'src/python/m5/proxy.py')
-rw-r--r--src/python/m5/proxy.py2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/python/m5/proxy.py b/src/python/m5/proxy.py
index a29265892..8c1a46909 100644
--- a/src/python/m5/proxy.py
+++ b/src/python/m5/proxy.py
@@ -184,6 +184,8 @@ class AnyProxy(BaseProxy):
def path(self):
return 'any'
+# The AllProxy traverses the entire sub-tree (not only the children)
+# and adds all objects of a specific type
class AllProxy(BaseProxy):
def find(self, obj):
return obj.find_all(self._pdesc.ptype)