Today we generate the device tree once on machine initialization and
then
store the finalized blob in memory to reload it on reset.
This is bad for 2 reasons. First we potentially waste a bunch of RAM
for no
good reason, as we have all information required to regenerate the
device
tree available anyways.
The second reason is even more important. On machine init when we
generate
the device tree for the first time, we don't have all of the devices
fully
initialized yet. But the device tree needs to potentially walk
devices to
put information about them into the device tree.