This series converts VFIO-PCI to realize. It also aims at improving the error reporting in case of QMP hot-plug.
Before the series, a device_add failure would have reported: {"error": {"class": "GenericError", "desc": "Device initialization failed"}}. Now the actual error cause is reported. Git Information: https://github.com/eauger/qemu/tree/v2.7.0_vfio_realize_v2 History: v1 -> v2: - Error object is cascaded downto vfio_intx_enable, vfio_add_capabilities vfio_pci_igd_opregion_init, vfio_get_group, vfio_get_device - Actual migration to realize happens at a later stage following Markus' guidance - special handling of the case where the end-user omits the host property - error_setg_errno now uses positive errno - more detailed commit message - fix "cannot enable AER cannot" functional change Eric Auger (12): vfio/pci: Use local error object in vfio_initfn vfio/pci: Pass an error object to vfio_populate_device vfio/pci: Pass an error object to vfio_msix_early_setup vfio/pci: Pass an error object to vfio_intx_enable vfio/pci: Pass an error object to vfio_add_capabilities vfio/pci: Pass an error object to vfio_pci_igd_opregion_init vfio: Pass an error object to vfio_get_group vfio: Pass an error object to vfio_get_device vfio/pci: Conversion to realize vfio/pci: Remove vfio_msix_early_setup returned value vfio/pci: Remove vfio_populate_device returned value vfio/pci: Handle host oversight hw/vfio/common.c | 33 +++--- hw/vfio/pci-quirks.c | 19 ++- hw/vfio/pci.c | 268 +++++++++++++++++++++++------------------- hw/vfio/pci.h | 5 +- hw/vfio/platform.c | 16 ++- hw/vfio/trace-events | 2 +- include/hw/vfio/vfio-common.h | 7 +- 7 files changed, 196 insertions(+), 154 deletions(-) -- 1.9.1