From: Akihiko Odaki <akihiko.odaki@daynix.com>
To: "Philippe Mathieu-Daudé" <philmd@linaro.org>,
"Michael S. Tsirkin" <mst@redhat.com>,
"Marcel Apfelbaum" <marcel.apfelbaum@gmail.com>,
"Alex Williamson" <alex.williamson@redhat.com>,
"Cédric Le Goater" <clg@redhat.com>,
"Paolo Bonzini" <pbonzini@redhat.com>,
"Daniel P. Berrangé" <berrange@redhat.com>,
"Eduardo Habkost" <eduardo@habkost.net>,
"Sriram Yagnaraman" <sriram.yagnaraman@ericsson.com>,
"Jason Wang" <jasowang@redhat.com>,
"Keith Busch" <kbusch@kernel.org>,
"Klaus Jensen" <its@irrelevant.dk>,
"Markus Armbruster" <armbru@redhat.com>,
"Matthew Rosato" <mjrosato@linux.ibm.com>,
"Eric Farman" <farman@linux.ibm.com>
Cc: qemu-devel@nongnu.org, qemu-block@nongnu.org,
Akihiko Odaki <akihiko.odaki@daynix.com>
Subject: [PATCH v16 04/13] s390x/pci: Avoid creating zpci for VFs
Date: Fri, 13 Sep 2024 12:44:32 +0900 [thread overview]
Message-ID: <20240913-reuse-v16-4-d016b4b4f616@daynix.com> (raw)
In-Reply-To: <20240913-reuse-v16-0-d016b4b4f616@daynix.com>
VFs are automatically created by PF, and creating zpci for them will
result in unexpected usage of fids. Currently QEMU does not support
multifunction for s390x so we don't need zpci for VFs anyway.
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
---
hw/s390x/s390-pci-bus.c | 19 +++++++++++++++++--
1 file changed, 17 insertions(+), 2 deletions(-)
diff --git a/hw/s390x/s390-pci-bus.c b/hw/s390x/s390-pci-bus.c
index 3e57d5faca18..1a620f5b2a04 100644
--- a/hw/s390x/s390-pci-bus.c
+++ b/hw/s390x/s390-pci-bus.c
@@ -1080,6 +1080,16 @@ static void s390_pcihost_plug(HotplugHandler *hotplug_dev, DeviceState *dev,
pbdev = s390_pci_find_dev_by_target(s, dev->id);
if (!pbdev) {
+ /*
+ * VFs are automatically created by PF, and creating zpci for them
+ * will result in unexpected usage of fids. Currently QEMU does not
+ * support multifunction for s390x so we don't need zpci for VFs
+ * anyway.
+ */
+ if (pci_is_vf(pdev)) {
+ return;
+ }
+
pbdev = s390_pci_device_new(s, dev->id, errp);
if (!pbdev) {
return;
@@ -1167,7 +1177,9 @@ static void s390_pcihost_unplug(HotplugHandler *hotplug_dev, DeviceState *dev,
int32_t devfn;
pbdev = s390_pci_find_dev_by_pci(s, PCI_DEVICE(dev));
- g_assert(pbdev);
+ if (!pbdev) {
+ return;
+ }
s390_pci_generate_plug_event(HP_EVENT_STANDBY_TO_RESERVED,
pbdev->fh, pbdev->fid);
@@ -1206,7 +1218,10 @@ static void s390_pcihost_unplug_request(HotplugHandler *hotplug_dev,
* we've checked the PCI device already (to prevent endless recursion).
*/
pbdev = s390_pci_find_dev_by_pci(s, PCI_DEVICE(dev));
- g_assert(pbdev);
+ if (!pbdev) {
+ return;
+ }
+
pbdev->pci_unplug_request_processed = true;
qdev_unplug(DEVICE(pbdev), errp);
} else if (object_dynamic_cast(OBJECT(dev), TYPE_S390_PCI_DEVICE)) {
--
2.46.0
next prev parent reply other threads:[~2024-09-13 3:46 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-13 3:44 [PATCH v16 00/13] hw/pci: SR-IOV related fixes and improvements Akihiko Odaki
2024-09-13 3:44 ` [PATCH v16 01/13] hw/pci: Rename has_power to enabled Akihiko Odaki
2024-09-13 3:44 ` [PATCH v16 02/13] hw/ppc/spapr_pci: Do not create DT for disabled PCI device Akihiko Odaki
2024-09-18 14:27 ` Cédric Le Goater
2024-09-19 4:32 ` Harsh Prateek Bora
2024-10-11 17:22 ` Shivaprasad G Bhat
2024-10-14 16:26 ` Shivaprasad G Bhat
2024-09-13 3:44 ` [PATCH v16 03/13] hw/ppc/spapr_pci: Do not reject VFs created after a PF Akihiko Odaki
2024-09-18 14:27 ` Cédric Le Goater
2024-10-11 17:22 ` Shivaprasad G Bhat
2024-10-12 12:10 ` Akihiko Odaki
2024-10-14 16:21 ` Shivaprasad G Bhat
2024-09-13 3:44 ` Akihiko Odaki [this message]
2024-09-18 15:02 ` [PATCH v16 04/13] s390x/pci: Avoid creating zpci for VFs Cédric Le Goater
2024-09-18 15:32 ` Akihiko Odaki
2024-10-10 15:44 ` Cédric Le Goater
2024-10-12 11:05 ` Akihiko Odaki
2024-10-14 8:43 ` Cédric Le Goater
2024-10-18 4:29 ` Akihiko Odaki
2024-09-13 3:44 ` [PATCH v16 05/13] s390x/pci: Allow plugging SR-IOV devices Akihiko Odaki
2024-09-13 3:44 ` [PATCH v16 06/13] s390x/pci: Check for multifunction after device realization Akihiko Odaki
2024-09-13 3:44 ` [PATCH v16 07/13] pcie_sriov: Do not manually unrealize Akihiko Odaki
2024-09-13 3:44 ` [PATCH v16 08/13] pcie_sriov: Reuse SR-IOV VF device instances Akihiko Odaki
2024-09-13 3:44 ` [PATCH v16 09/13] pcie_sriov: Release VFs failed to realize Akihiko Odaki
2024-09-13 3:44 ` [PATCH v16 10/13] pcie_sriov: Remove num_vfs from PCIESriovPF Akihiko Odaki
2024-09-13 3:44 ` [PATCH v16 11/13] pcie_sriov: Register VFs after migration Akihiko Odaki
2024-09-13 3:44 ` [PATCH v16 12/13] hw/pci: Use -1 as the default value for rombar Akihiko Odaki
2024-09-13 3:44 ` [PATCH v16 13/13] hw/qdev: Remove opts member Akihiko Odaki
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240913-reuse-v16-4-d016b4b4f616@daynix.com \
--to=akihiko.odaki@daynix.com \
--cc=alex.williamson@redhat.com \
--cc=armbru@redhat.com \
--cc=berrange@redhat.com \
--cc=clg@redhat.com \
--cc=eduardo@habkost.net \
--cc=farman@linux.ibm.com \
--cc=its@irrelevant.dk \
--cc=jasowang@redhat.com \
--cc=kbusch@kernel.org \
--cc=marcel.apfelbaum@gmail.com \
--cc=mjrosato@linux.ibm.com \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=philmd@linaro.org \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=sriram.yagnaraman@ericsson.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).