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.
Based on David's spapr-next https://github.com/dgibson/qemu/tree/spapr-next New slof.bin is already there in spapr-next 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 (6): spapr_pci: encode missing 64-bit memory address space spapr_pci: encode class code including Prog IF register spapr_pci: enumerate and add PCI device tree spapr_pci: set device node unit address as hex spapr_pci: populate ibm,loc-code spapr_pci: drop redundant args in spapr_populate_pci_child_dt hw/ppc/spapr_pci.c | 261 +++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 223 insertions(+), 38 deletions(-) -- 1.8.3.1