diff options
author | Ali Saidi <Ali.Saidi@ARM.com> | 2011-07-10 12:56:08 -0500 |
---|---|---|
committer | Ali Saidi <Ali.Saidi@ARM.com> | 2011-07-10 12:56:08 -0500 |
commit | 9751a1d3e78cbbcd17835ab967f036945ee2cec2 (patch) | |
tree | e670aaee81a41e463bab3d5d3eb057d328d9bafc /src/python/m5/proxy.py | |
parent | 83f91db2ccbdf5af0ec984b1f94c83b8a4fbdc1e (diff) | |
download | gem5-9751a1d3e78cbbcd17835ab967f036945ee2cec2.tar.xz |
Config: Add support for a Self.all proxy object
Diffstat (limited to 'src/python/m5/proxy.py')
-rw-r--r-- | src/python/m5/proxy.py | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/python/m5/proxy.py b/src/python/m5/proxy.py index e539f14ee..a29265892 100644 --- a/src/python/m5/proxy.py +++ b/src/python/m5/proxy.py @@ -184,6 +184,13 @@ class AnyProxy(BaseProxy): def path(self): return 'any' +class AllProxy(BaseProxy): + def find(self, obj): + return obj.find_all(self._pdesc.ptype) + + def path(self): + return 'all' + def isproxy(obj): if isinstance(obj, (BaseProxy, params.EthernetAddr)): return True @@ -201,6 +208,10 @@ class ProxyFactory(object): def __getattr__(self, attr): if attr == 'any': return AnyProxy(self.search_self, self.search_up) + elif attr == 'all': + if self.search_up: + assert("Parant.all is not supported") + return AllProxy(self.search_self, self.search_up) else: return AttrProxy(self.search_self, self.search_up, attr) |