On 07.06.2012, at 23:09, Blue Swirl wrote: > On Tue, Jun 5, 2012 at 11:52 PM, Alexander Graf <ag...@suse.de> wrote: >> Today we have two separate places where we keep information which device >> is where: >> >> - hw/ppce500_mpc8544ds.c to instantiate all devices >> - pc-bios/mpc8544ds.dtb as device tree to tell the guest about devices >> >> Every time we split crucial information, things can go terribly wrong. If >> you update one file, but not the other, you can screw things up without >> realizing it quickly. >> >> The redundancy is also unnecessary, because QEMU already knows all the >> information at which addresses its devices live. So we can generate the >> device tree from the same variables - and even have the device tree adjust >> if something changes in there. >> >> The one functionality we lose with this approach is the ability to manually >> patch the device tree to contain additional devices. To still be able to do >> so easily, we introduce a new option -machine dumpdtb=<file> that creates a >> dtb output file which can be used with -machine dtb=<file> later. In between >> these 2 executions of QEMU, the dtb can be modified however much you like. >> >> A lot of bits in this patch set are still hardcoded. We also don't accomodate >> for dynamic creation of device tree nodes when -device is used. This requires >> a bit more QOM'ification for us to be able to loop through all devices, so we >> can dynamically create the device tree nodes for them. The basic concept >> should >> still hold as is though. >> >> >> Alex > > Please use snprintf() instead of sprintf().
Oh how much I would love to be able to just call asprintf() and call it a day :). Alex