instruction: 0.951 graphic: 0.922 network: 0.859 device: 0.837 semantic: 0.832 vnc: 0.818 mistranslation: 0.783 socket: 0.781 boot: 0.706 assembly: 0.663 other: 0.544 KVM: 0.487 RISC-V 64 System Emulator fdt imporperly created after machine init is done Description of problem: In commit 49554856 the creation of FDT is moved to `virt_machine_done()` However, adding guest loader device requires the presence of fdt at `hw/core/guest-loader.c:50` when the fdt ptr is still 0x0. Thus adding of guest loader device will fail. Steps to reproduce: 1. Compile Qemu with riscv64 system emulator target 2. Compile Xen hypervisor platform (not necessary) 3. Instruct Qemu start with virt machine and any valid guest-loader device specification. Additional information: Commit that changes order of fdt creation: 49554856f0b6f622ab6afdcc275d4ab2ecb3625c