Before resuming the huge work on PHB hotplug, here are some patches that maybe worth to apply.
Patches 1 to 3 are basic improvements. Patch 4 and 5 may be a bit controversial. Everywhere in the spapr code where we build an FDT portion, libfdt failures cause QEMU to exit, even on hotplug paths. Only spapr_pci doesn't do that and propagates the error instead. My understanding is that a failure when building the FDT is likely to happen because of a bug in QEMU. Hence the choice to convert spapr_pci to do like the others. We may even consider changing _FDT() to abort() instead of exit(). Alternatively, if libfdt failures shouldn't be necessarily fatal, especially on post-realize paths, then we should probably introduce an _FDT_ERR() helper to propagate errors. And use it in may places where we currently terminate QEMU: memory hotplug, CPU hotplug, CAS, machine reset... -- Greg --- Greg Kurz (5): spapr_pci: drop useless check in spapr_phb_vfio_get_loc_code() spapr_pci: drop useless check in spapr_populate_pci_child_dt() spapr_pci: use g_strdup_printf() spapr_pci: use the common _FDT() helper spapr_pci: handle FDT creation errors with _FDT() hw/ppc/spapr_pci.c | 69 ++++++++++++++++------------------------------------ 1 file changed, 21 insertions(+), 48 deletions(-)