summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Sandberg <andreas.sandberg@arm.com>2018-06-05 17:13:31 +0100
committerAndreas Sandberg <andreas.sandberg@arm.com>2018-06-21 14:21:44 +0000
commit48e420cbd5d9ab9d56d4b837ca9fda65170dba3a (patch)
tree0e6fd6c22693d6418e3ab99adfab006e5a9ba423
parentc03e7b3d221a927ceda6fdb7dd65ccd1a0df1945 (diff)
downloadgem5-48e420cbd5d9ab9d56d4b837ca9fda65170dba3a.tar.xz
dev-arm: Use recurseDeviceTree instead of custom in platform
The platform code uses a custom mechanism to traverse the object hierarchy when generating device trees. This is highly undesirable since this breaks for common cases such as when SimObjects are stored in a list. Change-Id: I1b968e5fa1db62f1456e3c0ac3de47ab1299e58d Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com> Reviewed-on: https://gem5-review.googlesource.com/10781 Reviewed-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
-rw-r--r--src/dev/arm/RealView.py6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/dev/arm/RealView.py b/src/dev/arm/RealView.py
index a28720bdb..60b678080 100644
--- a/src/dev/arm/RealView.py
+++ b/src/dev/arm/RealView.py
@@ -598,10 +598,8 @@ class RealView(Platform):
node.append(FdtPropertyWords("interrupt-parent",
state.phandle(self.gic)))
- for device in [getattr(self, c) for c in self._children]:
- if issubclass(type(device), SimObject):
- subnode = device.generateDeviceTree(state)
- node.append(subnode)
+ for subnode in self.recurseDeviceTree(state):
+ node.append(subnode)
yield node