Re: [PULL 00/47] vfio queue
On 5/22/24 02:53, Cédric Le Goater wrote: The following changes since commit 85ef20f1673feaa083f4acab8cf054df77b0dbed: Merge tag 'pull-maintainer-may24-160524-2' ofhttps://gitlab.com/stsquad/qemu into staging (2024-05-16 10:02:56 +0200) are available in the Git repository at: https://github.com/legoater/qemu/ tags/pull-vfio-20240522 for you to fetch changes up to b4e1670c494165d4186930d56f692857f4fec89b: vfio/igd: Use g_autofree in vfio_probe_igd_bar4_quirk() (2024-05-22 10:04:22 +0200) vfio queue: * Improvement of error reporting during migration * Removed Vendor Specific Capability check on newer machine * Addition of a VFIO migration QAPI event * Changed prototype of routines using an error parameter to return bool * Several cleanups regarding autofree variables Applied, thanks. Please update https://wiki.qemu.org/ChangeLog/9.1 as appropriate. r~
[PULL 00/47] vfio queue
The following changes since commit 85ef20f1673feaa083f4acab8cf054df77b0dbed: Merge tag 'pull-maintainer-may24-160524-2' of https://gitlab.com/stsquad/qemu into staging (2024-05-16 10:02:56 +0200) are available in the Git repository at: https://github.com/legoater/qemu/ tags/pull-vfio-20240522 for you to fetch changes up to b4e1670c494165d4186930d56f692857f4fec89b: vfio/igd: Use g_autofree in vfio_probe_igd_bar4_quirk() (2024-05-22 10:04:22 +0200) vfio queue: * Improvement of error reporting during migration * Removed Vendor Specific Capability check on newer machine * Addition of a VFIO migration QAPI event * Changed prototype of routines using an error parameter to return bool * Several cleanups regarding autofree variables Avihai Horon (4): qapi/vfio: Add VFIO migration QAPI event vfio/migration: Emit VFIO migration QAPI event vfio/migration: Don't emit STOP_COPY VFIO migration QAPI event twice vfio/migration: Enhance VFIO migration state tracing Cédric Le Goater (13): vfio: Add Error** argument to .set_dirty_page_tracking() handler vfio: Add Error** argument to vfio_devices_dma_logging_start() migration: Extend migration_file_set_error() with Error* argument vfio/migration: Add an Error** argument to vfio_migration_set_state() vfio/migration: Add Error** argument to .vfio_save_config() handler vfio: Reverse test on vfio_get_xlat_addr() memory: Add Error** argument to memory_get_xlat_addr() vfio: Add Error** argument to .get_dirty_bitmap() handler vfio: Also trace event failures in vfio_save_complete_precopy() vfio/ap: Use g_autofree variable in vfio_ap_register_irq_notifier() vfio/ap: Make vfio_ap_register_irq_notifier() return a bool vfio/ccw: Use g_autofree variable in vfio_ccw_register_irq_notifier() vfio/ccw: Make vfio_ccw_register_irq_notifier() return a bool Vinayak Kale (1): vfio/pci: migration: Skip config space check for Vendor Specific Information in VSC during restore/load Zhenzhong Duan (29): vfio/pci: Use g_autofree in vfio_realize vfio/pci: Use g_autofree in iommufd_cdev_get_info_iova_range() vfio: Make VFIOIOMMUClass::attach_device() and its wrapper return bool vfio: Make VFIOIOMMUClass::setup() return bool vfio: Make VFIOIOMMUClass::add_window() and its wrapper return bool vfio/container: Make vfio_connect_container() return bool vfio/container: Make vfio_set_iommu() return bool vfio/container: Make vfio_get_device() return bool vfio/iommufd: Make iommufd_cdev_*() return bool vfio/cpr: Make vfio_cpr_register_container() return bool backends/iommufd: Make iommufd_backend_*() return bool vfio/display: Fix error path in call site of ramfb_setup() vfio/display: Make vfio_display_*() return bool vfio/helpers: Use g_autofree in vfio_set_irq_signaling() vfio/helpers: Make vfio_set_irq_signaling() return bool vfio/helpers: Make vfio_device_get_name() return bool vfio/platform: Make vfio_populate_device() and vfio_base_device_init() return bool vfio/ccw: Make vfio_ccw_get_region() return a bool vfio/pci: Make vfio_intx_enable_kvm() return a bool vfio/pci: Make vfio_pci_relocate_msix() and vfio_msix_early_setup() return a bool vfio/pci: Make vfio_populate_device() return a bool vfio/pci: Make vfio_intx_enable() return bool vfio/pci: Make vfio_populate_vga() return bool vfio/pci: Make capability related functions return bool vfio/pci: Use g_autofree for vfio_region_info pointer vfio/pci-quirks: Make vfio_pci_igd_opregion_init() return bool vfio/pci-quirks: Make vfio_add_*_cap() return bool vfio: Use g_autofree in all call site of vfio_get_region_info() vfio/igd: Use g_autofree in vfio_probe_igd_bar4_quirk() MAINTAINERS | 1 + qapi/qapi-schema.json | 1 + qapi/vfio.json| 67 hw/vfio/pci.h | 13 +- include/exec/memory.h | 15 +- include/hw/vfio/vfio-common.h | 43 -- include/hw/vfio/vfio-container-base.h | 55 +-- include/migration/misc.h | 2 +- include/sysemu/iommufd.h | 6 +- backends/iommufd.c| 29 ++-- hw/core/machine.c | 1 + hw/vfio/ap.c | 35 ++--- hw/vfio/ccw.c | 56 +++ hw/vfio/common.c | 119 +-- hw/vfio/container-base.c | 18 +-- hw/vfio/container.c | 101 ++-- hw/vfio/cpr.c | 4 +- hw/vfio/display.c | 22 ++- hw/vfio/helpers.c | 36 ++--- hw/vfio/igd.c
Re: [PULL 00/47] vfio queue
Applied, thanks. Please update the changelog at https://wiki.qemu.org/ChangeLog/8.2 for any user-visible changes. signature.asc Description: PGP signature
[PULL 00/47] vfio queue
The following changes since commit bd00730ec0f621706d0179768436f82c39048499: Open 9.0 development tree (2023-12-19 09:46:22 -0500) are available in the Git repository at: https://github.com/legoater/qemu/ tags/pull-vfio-20231219 for you to fetch changes up to 4278df9d1d2383b738338c857406357660f11e42: hw/ppc/Kconfig: Imply VFIO_PCI (2023-12-19 19:03:38 +0100) vfio queue: * Introduce an IOMMU interface backend for VFIO devices * Convert IOMMU type1 and sPAPR IOMMU to respective backends * Introduce a new IOMMUFD backend for ARM, x86_64 and s390x platforms Cédric Le Goater (4): hw/arm: Activate IOMMUFD for virt machines kconfig: Activate IOMMUFD for s390x machines hw/i386: Activate IOMMUFD for q35 machines hw/ppc/Kconfig: Imply VFIO_PCI Eric Auger (11): vfio/container: Switch to dma_map|unmap API vfio/common: Move giommu_list in base container vfio/container: Move space field to base container vfio/container: Switch to IOMMU BE set_dirty_page_tracking/query_dirty_bitmap API vfio/container: Convert functions to base container vfio/container: Move pgsizes and dma_max_mappings to base container vfio/container: Move listener to base container vfio/container: Move dirty_pgsizes and max_dirty_bitmap_size to base container vfio/container: Implement attach/detach_device backends/iommufd: Introduce the iommufd object vfio/pci: Allow the selection of a given iommu backend Yi Liu (2): util/char_dev: Add open_cdev() vfio/iommufd: Implement the iommufd backend Zhenzhong Duan (30): vfio: Introduce base object for VFIOContainer and targeted interface vfio/container: Introduce a empty VFIOIOMMUOps vfio/common: Introduce vfio_container_init/destroy helper vfio/container: Move per container device list in base container vfio/container: Move vrdl_list to base container vfio/container: Move iova_ranges to base container vfio/spapr: Introduce spapr backend and target interface vfio/spapr: switch to spapr IOMMU BE add/del_section_window vfio/spapr: Move prereg_listener into spapr container vfio/spapr: Move hostwin_list into spapr container vfio/common: return early if space isn't empty vfio/iommufd: Relax assert check for iommufd backend vfio/iommufd: Add support for iova_ranges and pgsizes vfio/pci: Extract out a helper vfio_pci_get_pci_hot_reset_info vfio/pci: Introduce a vfio pci hot reset interface vfio/iommufd: Enable pci hot reset through iommufd cdev interface vfio/pci: Make vfio cdev pre-openable by passing a file handle vfio/platform: Allow the selection of a given iommu backend vfio/platform: Make vfio cdev pre-openable by passing a file handle vfio/ap: Allow the selection of a given iommu backend vfio/ap: Make vfio cdev pre-openable by passing a file handle vfio/ccw: Allow the selection of a given iommu backend vfio/ccw: Make vfio cdev pre-openable by passing a file handle vfio: Make VFIOContainerBase poiner parameter const in VFIOIOMMUOps callbacks vfio/pci: Move VFIODevice initializations in vfio_instance_init vfio/platform: Move VFIODevice initializations in vfio_platform_instance_init vfio/ap: Move VFIODevice initializations in vfio_ap_instance_init vfio/ccw: Move VFIODevice initializations in vfio_ccw_instance_init vfio: Introduce a helper function to initialize VFIODevice docs/devel: Add VFIO iommufd backend documentation MAINTAINERS | 11 + docs/devel/index-internals.rst| 1 + docs/devel/vfio-iommufd.rst | 166 + qapi/qom.json | 19 + hw/vfio/pci.h | 6 + include/hw/vfio/vfio-common.h | 96 ++ include/hw/vfio/vfio-container-base.h | 121 +++ include/qemu/chardev_open.h | 16 + include/sysemu/iommufd.h | 38 ++ backends/iommufd.c| 245 + hw/ppc/spapr_pci_vfio.c | 46 ++- hw/vfio/ap.c | 47 ++- hw/vfio/ccw.c | 53 ++- hw/vfio/common.c | 261 -- hw/vfio/container-base.c | 101 ++ hw/vfio/container.c | 329 +- hw/vfio/helpers.c | 54 +++ hw/vfio/iommufd.c | 630 ++ hw/vfio/pci.c | 218 +++- hw/vfio/platform.c| 44 ++- hw/vfio/spapr.c | 108 -- util/chardev_open.c | 81 + backends/Kconfig | 4 + backends/meson.build | 1 + backends/trace-events