Re: [PULL 00/47] vfio queue

2024-05-22 Thread Richard Henderson

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

2024-05-22 Thread Cédric Le Goater
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

2023-12-20 Thread Stefan Hajnoczi
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

2023-12-19 Thread Cédric Le Goater
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