From f2391b0ded1ec954ff6cfa16daf802e561eb0481 Mon Sep 17 00:00:00 2001 From: jiangdongxu Date: Wed, 13 Mar 2024 17:16:33 +0800 Subject: [PATCH] libvirt update to version 6.2.0-61 - vdpa: Release pci slot address when unplugging vdpa device - vdpa: return pcieFlags when calculate vdpa passthrough devices. Signed-off-by: jiangdongxu --- libvirt.spec | 8 +++- ...-slot-address-when-unplugging-vdpa-d.patch | 39 +++++++++++++++++++ ...Flags-when-calculate-vdpa-passthroug.patch | 32 +++++++++++++++ 3 files changed, 78 insertions(+), 1 deletion(-) create mode 100644 vdpa-Release-pci-slot-address-when-unplugging-vdpa-d.patch create mode 100644 vdpa-return-pcieFlags-when-calculate-vdpa-passthroug.patch diff --git a/libvirt.spec b/libvirt.spec index c681a93..3518733 100644 --- a/libvirt.spec +++ b/libvirt.spec @@ -101,7 +101,7 @@ Summary: Library providing a simple virtualization API Name: libvirt Version: 6.2.0 -Release: 60 +Release: 61 License: LGPLv2+ URL: https://libvirt.org/ @@ -504,6 +504,8 @@ Patch0391: node_device-fix-leak-of-DIR.patch Patch0392: vdpa-Introduce-the-new-device-type-vdpa-to-hostdev.patch Patch0393: vdpa-support-vdpa-device-hot-plug-unplug.patch Patch0394: vdpa-support-vdpa-device-migrate.patch +Patch0395: vdpa-return-pcieFlags-when-calculate-vdpa-passthroug.patch +Patch0396: vdpa-Release-pci-slot-address-when-unplugging-vdpa-d.patch Requires: libvirt-daemon = %{version}-%{release} Requires: libvirt-daemon-config-network = %{version}-%{release} @@ -2240,6 +2242,10 @@ exit 0 %changelog +* Wed Mar 13 2024 jiangdongxu - 6.2.0-61 +- vdpa: Release pci slot address when unplugging vdpa device +- vdpa: return pcieFlags when calculate vdpa passthrough devices. + * Wed Nov 29 2023 Jiabo Feng - 6.2.0-60 - vdpa: support vdpa device migrate - vdpa: support vdpa device hot plug/unplug diff --git a/vdpa-Release-pci-slot-address-when-unplugging-vdpa-d.patch b/vdpa-Release-pci-slot-address-when-unplugging-vdpa-d.patch new file mode 100644 index 0000000..7a2f0b2 --- /dev/null +++ b/vdpa-Release-pci-slot-address-when-unplugging-vdpa-d.patch @@ -0,0 +1,39 @@ +From 9858958385ae145196a0b95befbd9ae8f2f5ce18 Mon Sep 17 00:00:00 2001 +From: jiangdongxu1 +Date: Wed, 13 Mar 2024 15:28:47 +0800 +Subject: [PATCH] vdpa: Release pci slot address when unplugging vdpa device + +Signed-off-by: jiangdongxu1 +--- + src/qemu/qemu_hotplug.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c +index 3c5540291b..f44ac938ae 100644 +--- a/src/qemu/qemu_hotplug.c ++++ b/src/qemu/qemu_hotplug.c +@@ -4560,6 +4560,12 @@ qemuDomainRemoveMediatedDevice(virQEMUDriverPtr driver, + qemuDomainReleaseDeviceAddress(vm, hostdev->info); + } + ++static void ++qemuDomainRemoveVDPADevice(virDomainObjPtr vm, ++ virDomainHostdevDefPtr hostdev) ++{ ++ qemuDomainReleaseDeviceAddress(vm, hostdev->info); ++} + + static int + qemuDomainRemoveHostDevice(virQEMUDriverPtr driver, +@@ -4653,6 +4659,8 @@ qemuDomainRemoveHostDevice(virQEMUDriverPtr driver, + qemuDomainRemoveMediatedDevice(driver, vm, hostdev); + break; + case VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_VDPA: ++ qemuDomainRemoveVDPADevice(vm, hostdev); ++ break; + case VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_LAST: + break; + } +-- +2.27.0 + diff --git a/vdpa-return-pcieFlags-when-calculate-vdpa-passthroug.patch b/vdpa-return-pcieFlags-when-calculate-vdpa-passthroug.patch new file mode 100644 index 0000000..6fbca02 --- /dev/null +++ b/vdpa-return-pcieFlags-when-calculate-vdpa-passthroug.patch @@ -0,0 +1,32 @@ +From 78b7156840b421becd45c13c0ff4da57c314b4a5 Mon Sep 17 00:00:00 2001 +From: jiangdongxu1 +Date: Wed, 13 Mar 2024 15:23:57 +0800 +Subject: [PATCH] vdpa: return pcieFlags when calculate vdpa passthrough + devices. + +Signed-off-by: jiangdongxu1 +--- + src/qemu/qemu_domain_address.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/src/qemu/qemu_domain_address.c b/src/qemu/qemu_domain_address.c +index 6649553486..ce40fdc928 100644 +--- a/src/qemu/qemu_domain_address.c ++++ b/src/qemu/qemu_domain_address.c +@@ -825,6 +825,13 @@ qemuDomainDeviceCalculatePCIConnectFlags(virDomainDeviceDefPtr dev, + if (hostdev->source.subsys.type == VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_MDEV) + return pcieFlags; + ++ /* ++ * vDPA passthrough is currently only support on arm architechture. ++ * Thus, we just assume it's PCI Express. ++ */ ++ if (hostdev->source.subsys.type == VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_VDPA) ++ return pcieFlags; ++ + /* according to pbonzini, from the guest PoV vhost-scsi devices + * are the same as virtio-scsi, so they should follow virtio logic + */ +-- +2.27.0 + -- Gitee