From: Andreas Sandberg Date: Tue, 5 Jun 2018 16:13:31 +0000 (+0100) Subject: dev-arm: Use recurseDeviceTree instead of custom in platform X-Git-Tag: v19.0.0.0~2034 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=48e420cbd5d9ab9d56d4b837ca9fda65170dba3a;p=gem5.git 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 Reviewed-on: https://gem5-review.googlesource.com/10781 Reviewed-by: Giacomo Travaglini --- 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