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>
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