qemu/hw/virtio
Eric Auger 3745768918 virtio-iommu: Remove probe_done
Now we have switched to PCIIOMMUOps to convey host IOMMU information,
the host reserved regions are transmitted when the PCIe topology is
built. This happens way before the virtio-iommu driver calls the probe
request. So let's remove the probe_done flag that allowed to check
the probe was not done before the IOMMU MR got enabled. Besides this
probe_done flag had a flaw wrt migration since it was not saved/restored.

The only case at risk is if 2 devices were plugged to a
PCIe to PCI bridge and thus aliased. First of all we
discovered in the past this case was not properly supported for
neither SMMU nor virtio-iommu on guest kernel side: see

[RFC] virtio-iommu: Take into account possible aliasing in virtio_iommu_mr()
https://lore.kernel.org/all/20230116124709.793084-1-eric.auger@redhat.com/

If this were supported by the guest kernel, it is unclear what the call
sequence would be from a virtio-iommu driver point of view.

Signed-off-by: Eric Auger <eric.auger@redhat.com>
Message-Id: <20240716094619.1713905-3-eric.auger@redhat.com>
Tested-by: Cédric Le Goater <clg@redhat.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2024-07-22 20:15:42 -04:00
..
Kconfig hw/virtio: add vhost-user-snd and vhost-user-snd-pci devices 2024-02-14 06:09:03 -05:00
meson.build hw/virtio: move stubs out of stubs/ 2024-04-18 11:17:27 +02:00
trace-events memory: remove IOMMU MR iommu_set_page_size_mask() callback 2024-07-09 11:50:37 +02:00
trace.h
vdpa-dev-pci.c
vdpa-dev.c vdpa-dev: Fix the issue of device status not updating when configuration interruption is triggered 2024-04-09 02:31:27 -04:00
vhost-backend.c vhost: Add worker backend callouts 2023-12-25 11:34:55 -05:00
vhost-iova-tree.c
vhost-iova-tree.h
vhost-scsi-pci.c
vhost-shadow-virtqueue.c
vhost-shadow-virtqueue.h
vhost-stub.c
vhost-user-base.c hw/virtio: Free vqs after vhost_dev_cleanup() 2024-07-01 17:16:05 -04:00
vhost-user-blk-pci.c
vhost-user-device-pci.c virtio: split into vhost-user-base and vhost-user-device 2024-02-14 06:01:39 -05:00
vhost-user-device.c virtio: split into vhost-user-base and vhost-user-device 2024-02-14 06:01:39 -05:00
vhost-user-fs-pci.c
vhost-user-fs.c vhost,vhost-user: Add VIRTIO_F_IN_ORDER to vhost feature bits 2024-07-21 14:45:56 -04:00
vhost-user-gpio-pci.c
vhost-user-gpio.c hw/virtio: derive vhost-user-gpio from vhost-user-base 2024-02-14 06:01:44 -05:00
vhost-user-i2c-pci.c
vhost-user-i2c.c hw/virtio: derive vhost-user-i2c from vhost-user-base 2024-02-14 06:01:49 -05:00
vhost-user-input-pci.c hw/virtio: derive vhost-user-input from vhost-user-base 2024-02-14 06:09:32 -05:00
vhost-user-input.c hw/virtio: derive vhost-user-input from vhost-user-base 2024-02-14 06:09:32 -05:00
vhost-user-rng-pci.c
vhost-user-rng.c hw/virtio: derive vhost-user-rng from vhost-user-base 2024-02-14 06:01:42 -05:00
vhost-user-scmi-pci.c
vhost-user-scmi.c bulk: Access existing variables initialized to &S->F when available 2024-03-12 11:46:16 +01:00
vhost-user-scsi-pci.c
vhost-user-snd-pci.c hw/virtio: add vhost-user-snd and vhost-user-snd-pci devices 2024-02-14 06:09:03 -05:00
vhost-user-snd.c hw/virtio: add vhost-user-snd and vhost-user-snd-pci devices 2024-02-14 06:09:03 -05:00
vhost-user-vsock-pci.c
vhost-user-vsock.c vhost,vhost-user: Add VIRTIO_F_IN_ORDER to vhost feature bits 2024-07-21 14:45:56 -04:00
vhost-user.c vhost-user: Skip unnecessary duplicated VHOST_USER_SET_LOG_BASE requests 2024-07-01 17:16:05 -04:00
vhost-vdpa.c util/hexdump: Add unit_len and block_len to qemu_hexdump_line 2024-06-05 12:14:18 -07:00
vhost-vsock-common.c vhost-vsock: add VIRTIO_F_RING_PACKED to feature_bits 2024-07-01 14:56:23 -04:00
vhost-vsock-pci.c
vhost-vsock.c hw/virtio/vhost-vsock: Fix missing ERRP_GUARD() for error_prepend() 2024-03-12 11:45:45 +01:00
vhost.c vhost: Perform memory section dirty scans once per iteration 2024-07-01 14:56:23 -04:00
virtio-9p-pci.c
virtio-acpi.c acpi: Clean up includes 2024-01-30 21:20:20 +03:00
virtio-balloon-pci.c
virtio-balloon.c migration: remove migration.h references 2024-03-11 16:28:59 -04:00
virtio-blk-pci.c
virtio-bus.c
virtio-config-io.c
virtio-crypto-pci.c
virtio-crypto.c hw/virtio/virtio-crypto: Fix op_code assignment in virtio_crypto_create_asym_session 2024-07-21 14:31:59 -04:00
virtio-hmp-cmds.c
virtio-input-host-pci.c
virtio-input-pci.c
virtio-iommu-pci.c hw/virtio: Free VirtIOIOMMUPCI::vdev.reserved_regions[] on finalize() 2023-11-27 15:27:41 +00:00
virtio-iommu.c virtio-iommu: Remove probe_done 2024-07-22 20:15:42 -04:00
virtio-md-pci.c hw/mem/memory-device: Remove legacy_align from memory_device_pre_plug() 2024-06-19 12:40:49 +02:00
virtio-md-stubs.c hw/virtio: move stubs out of stubs/ 2024-04-18 11:17:27 +02:00
virtio-mem-pci.c
virtio-mem-pci.h
virtio-mem.c virtio-mem: improve error message when unplug of device fails due to plugged memory 2024-07-10 18:06:24 +02:00
virtio-mmio.c virtio-mmio: Handle extra notification data 2024-07-01 14:56:23 -04:00
virtio-net-pci.c virtio-net: Implement SR-IOV VF 2024-07-22 20:15:41 -04:00
virtio-pci.c virtio-pci: Implement SR-IOV PF 2024-07-22 20:15:41 -04:00
virtio-pmem-pci.c
virtio-pmem-pci.h
virtio-pmem.c
virtio-qmp.c
virtio-qmp.h
virtio-rng-pci.c
virtio-rng.c hw/virtio: Constify VMState 2023-12-30 07:38:06 +11:00
virtio-scsi-pci.c
virtio-serial-pci.c
virtio-stub.c
virtio.c virtio: virtqueue_ordered_flush - VIRTIO_F_IN_ORDER support 2024-07-21 14:45:56 -04:00