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>
Cc: qemu-devel@nongnu.org, qemu-block@nongnu.org,
Akihiko Odaki <akihiko.odaki@daynix.com>,
qemu-stable@nongnu.org
Subject: [PATCH v8 00/15] hw/pci: SR-IOV related fixes and improvements
Date: Wed, 28 Feb 2024 20:33:11 +0900 [thread overview]
Message-ID: <20240228-reuse-v8-0-282660281e60@daynix.com> (raw)
I submitted a RFC series[1] to add support for SR-IOV emulation to
virtio-net-pci. During the development of the series, I fixed some
trivial bugs and made improvements that I think are independently
useful. This series extracts those fixes and improvements from the RFC
series.
[1]: https://patchew.org/QEMU/20231210-sriov-v2-0-b959e8a6dfaf@daynix.com/
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
---
Changes in v8:
- Clarified that "hw/pci: Replace -1 with UINT32_MAX for romsize" is
not a bug fix. (Markus Armbruster)
- Squashed patch "vfio: Avoid inspecting option QDict for rombar" into
"hw/pci: Determine if rombar is explicitly enabled".
(Markus Armbruster)
- Noted the minor semantics change for patch "hw/pci: Determine if
rombar is explicitly enabled". (Markus Armbruster)
- Link to v7: https://lore.kernel.org/r/20240224-reuse-v7-0-29c14bcb952e@daynix.com
Changes in v7:
- Replaced -1 with UINT32_MAX when expressing uint32_t.
(Markus Armbruster)
- Added patch "hw/pci: Replace -1 with UINT32_MAX for romsize".
- Link to v6: https://lore.kernel.org/r/20240220-reuse-v6-0-2e42a28b0cf2@daynix.com
Changes in v6:
- Fixed migration.
- Added patch "pcie_sriov: Do not manually unrealize".
- Restored patch "pcie_sriov: Release VFs failed to realize" that was
missed in v5.
- Link to v5: https://lore.kernel.org/r/20240218-reuse-v5-0-e4fc1c19b5a9@daynix.com
Changes in v5:
- Added patch "hw/pci: Always call pcie_sriov_pf_reset()".
- Added patch "pcie_sriov: Reset SR-IOV extended capability".
- Removed a reference to PCI_SRIOV_CTRL_VFE in hw/nvme.
(Michael S. Tsirkin)
- Noted the impact on the guest of patch "pcie_sriov: Do not reset
NumVFs after unregistering VFs". (Michael S. Tsirkin)
- Changed to use pcie_sriov_num_vfs().
- Restored pci_set_power() and changed it to call pci_set_enabled() only
for PFs with an expalanation. (Michael S. Tsirkin)
- Reordered patches.
- Link to v4: https://lore.kernel.org/r/20240214-reuse-v4-0-89ad093a07f4@daynix.com
Changes in v4:
- Reverted the change to pci_rom_bar_explicitly_enabled().
(Michael S. Tsirkin)
- Added patch "pcie_sriov: Do not reset NumVFs after unregistering VFs".
- Added patch "hw/nvme: Refer to dev->exp.sriov_pf.num_vfs".
- Link to v3: https://lore.kernel.org/r/20240212-reuse-v3-0-8017b689ce7f@daynix.com
Changes in v3:
- Extracted patch "hw/pci: Use -1 as a default value for rombar" from
patch "hw/pci: Determine if rombar is explicitly enabled"
(Philippe Mathieu-Daudé)
- Added an audit result of PCIDevice::rom_bar to the message of patch
"hw/pci: Use -1 as a default value for rombar"
(Philippe Mathieu-Daudé)
- Link to v2: https://lore.kernel.org/r/20240210-reuse-v2-0-24ba2a502692@daynix.com
Changes in v2:
- Reset after enabling a function so that NVMe VF state gets updated.
- Link to v1: https://lore.kernel.org/r/20240203-reuse-v1-0-5be8c5ce6338@daynix.com
---
Akihiko Odaki (15):
hw/nvme: Use pcie_sriov_num_vfs()
pcie_sriov: Validate NumVFs
pcie_sriov: Reset SR-IOV extended capability
pcie_sriov: Do not reset NumVFs after disabling VFs
hw/pci: Always call pcie_sriov_pf_reset()
hw/pci: Rename has_power to enabled
pcie_sriov: Do not manually unrealize
pcie_sriov: Reuse SR-IOV VF device instances
pcie_sriov: Release VFs failed to realize
pcie_sriov: Remove num_vfs from PCIESriovPF
pcie_sriov: Register VFs after migration
hw/pci: Replace -1 with UINT32_MAX for romsize
hw/pci: Use UINT32_MAX as a default value for rombar
hw/pci: Determine if rombar is explicitly enabled
hw/qdev: Remove opts member
docs/pcie_sriov.txt | 8 ++-
include/hw/pci/pci.h | 2 +-
include/hw/pci/pci_device.h | 22 +++++-
include/hw/pci/pcie_sriov.h | 13 ++--
include/hw/qdev-core.h | 4 --
hw/core/qdev.c | 1 -
hw/net/igb.c | 15 ++--
hw/nvme/ctrl.c | 54 +++++++-------
hw/pci/pci.c | 32 +++++----
hw/pci/pci_host.c | 4 +-
hw/pci/pcie_sriov.c | 170 ++++++++++++++++++++++++--------------------
hw/vfio/pci.c | 3 +-
hw/xen/xen_pt_load_rom.c | 2 +-
system/qdev-monitor.c | 12 ++--
hw/pci/trace-events | 2 +-
15 files changed, 194 insertions(+), 150 deletions(-)
---
base-commit: 5005aed8a7e728d028efb40e243ecfc2b4f3df3a
change-id: 20240129-reuse-faae22b11934
Best regards,
--
Akihiko Odaki <akihiko.odaki@daynix.com>
next reply other threads:[~2024-02-28 11:34 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-28 11:33 Akihiko Odaki [this message]
2024-02-28 11:33 ` [PATCH v8 01/15] hw/nvme: Use pcie_sriov_num_vfs() Akihiko Odaki
2024-02-28 11:33 ` [PATCH v8 02/15] pcie_sriov: Validate NumVFs Akihiko Odaki
2024-02-28 16:08 ` Sriram Yagnaraman
2024-02-28 11:33 ` [PATCH v8 03/15] pcie_sriov: Reset SR-IOV extended capability Akihiko Odaki
2024-02-28 16:23 ` Sriram Yagnaraman
2024-02-29 2:27 ` Akihiko Odaki
2024-02-28 11:33 ` [PATCH v8 04/15] pcie_sriov: Do not reset NumVFs after disabling VFs Akihiko Odaki
2024-02-28 11:33 ` [PATCH v8 05/15] hw/pci: Always call pcie_sriov_pf_reset() Akihiko Odaki
2024-02-28 16:23 ` Sriram Yagnaraman
2024-02-28 11:33 ` [PATCH v8 06/15] hw/pci: Rename has_power to enabled Akihiko Odaki
2024-02-28 11:33 ` [PATCH v8 07/15] pcie_sriov: Do not manually unrealize Akihiko Odaki
2024-03-12 19:27 ` Michael S. Tsirkin
2024-02-28 11:33 ` [PATCH v8 08/15] pcie_sriov: Reuse SR-IOV VF device instances Akihiko Odaki
2024-02-28 11:33 ` [PATCH v8 09/15] pcie_sriov: Release VFs failed to realize Akihiko Odaki
2024-02-28 11:33 ` [PATCH v8 10/15] pcie_sriov: Remove num_vfs from PCIESriovPF Akihiko Odaki
2024-02-28 11:33 ` [PATCH v8 11/15] pcie_sriov: Register VFs after migration Akihiko Odaki
2024-02-28 11:33 ` [PATCH v8 12/15] hw/pci: Replace -1 with UINT32_MAX for romsize Akihiko Odaki
2024-02-28 11:33 ` [PATCH v8 13/15] hw/pci: Use UINT32_MAX as a default value for rombar Akihiko Odaki
2024-02-28 12:36 ` Markus Armbruster
2024-02-28 11:33 ` [PATCH v8 14/15] hw/pci: Determine if rombar is explicitly enabled Akihiko Odaki
2024-02-28 12:37 ` Markus Armbruster
2024-02-28 11:33 ` [PATCH v8 15/15] hw/qdev: Remove opts member Akihiko Odaki
2024-03-12 19:53 ` [PATCH v8 00/15] hw/pci: SR-IOV related fixes and improvements Michael S. Tsirkin
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=20240228-reuse-v8-0-282660281e60@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=its@irrelevant.dk \
--cc=jasowang@redhat.com \
--cc=kbusch@kernel.org \
--cc=marcel.apfelbaum@gmail.com \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=philmd@linaro.org \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu-stable@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.