The patch series creates PCI device tree(DT) nodes in QEMU. The new hotplug code needs the device node creation in QEMU. While during boot, nodes were created in SLOF. It makes more sense to consolidate the code to one place for better maintainability.
New slof.bin is already there in spapr-next Changelog V7: * Rebased to spapr-next * Dropped three patches that have been picked upstream * Limited usage of sPAPRFDT to pci enumeration code (David Gibson) * Reworked all the patches and moved cleanup in last patch. Changelog V6: * Open coded fdt_setprop_string as the return would leak memory (Thomas Huth) Changelog V5: * Reworked enumerate bridges to reduce scopes (Alexey) * Fixed unit address which should be hex * Added FDT_NAME_MAX and use snprintf for composing name (Alexey) * Added patch to drop redundant args and change prototype (Alexey) * Added bus number in the ibm,loc-code for qemu emulated or failed vfio device. * Now qemu_<name>:<phb-index>:<bus>:<slot>.<fn> is having hex encoding (Alexey) Changelog V4: * Refactored and simplified the "ibm,loc-code" patch Changelog V3: * Dropped duplicate macro patches * Squashed Michael's drc_index changes to enumeration patch * Use common create routine for boottime and hotplug case * Proper error handling not depending on g_assert * Encode vfio loc-code if getting loc-code from host fails Changelog V2: * Fix device tree for 64-bit encoding * Fix the class code, was failing xhci * Remove macro duplication * Fix DT fields generation for boot time device (Michael Roth) Changelog v1: * Correct indent problems reported by checkpatch(David Gibson) * Declare sPAPRFDT structure as local (David Gibson) * Re-arrange code to avoid multiple indentation (Alexey Kardashevskiy) Nikunj A Dadhania (3): spapr_pci: enumerate and add PCI device tree spapr_pci: populate ibm,loc-code spapr_pci: drop redundant args in spapr_[populate,create]_pci_child_dt hw/ppc/spapr_pci.c | 228 +++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 202 insertions(+), 26 deletions(-) -- 1.8.3.1