From: Eduardo Habkost <ehabkost@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Michael S. Tsirkin" <mst@redhat.com>,
Laine Stump <laine@redhat.com>,
Marcel Apfelbaum <marcel@redhat.com>
Subject: [Qemu-devel] [PATCH 2/5] pci: Add interface names to hybrid PCI devices
Date: Wed, 23 Aug 2017 19:14:42 -0300 [thread overview]
Message-ID: <20170823221445.15243-3-ehabkost@redhat.com> (raw)
In-Reply-To: <20170823221445.15243-1-ehabkost@redhat.com>
The following devices support both PCIe and legacy PCI, by
including special code to handle the QEMU_PCI_CAP_EXPRESS flag:
* vfio-pci (is_express=1, but legacy PCI handled by
vfio_populate_device())
* vmxnet3 (is_express=0, but PCIe handled by vmxnet3_realize())
* pvscsi (is_express=0, but PCIe handled by pvscsi_realize())
* virtio-pci (is_express=0, but PCIe handled by
virtio_pci_dc_realize(), and additional legacy PCI code at
virtio_pci_realize())
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
---
hw/net/vmxnet3.c | 5 +++++
hw/scsi/vmw_pvscsi.c | 2 ++
hw/vfio/pci.c | 5 +++++
hw/virtio/virtio-pci.c | 5 +++++
4 files changed, 17 insertions(+)
diff --git a/hw/net/vmxnet3.c b/hw/net/vmxnet3.c
index a19a7a3..61feacf 100644
--- a/hw/net/vmxnet3.c
+++ b/hw/net/vmxnet3.c
@@ -2651,6 +2651,11 @@ static const TypeInfo vmxnet3_info = {
.instance_size = sizeof(VMXNET3State),
.class_init = vmxnet3_class_init,
.instance_init = vmxnet3_instance_init,
+ .interfaces = (InterfaceInfo[]) {
+ { INTERFACE_PCIE_DEVICE },
+ { INTERFACE_LEGACY_PCI_DEVICE },
+ { }
+ },
};
static void vmxnet3_register_types(void)
diff --git a/hw/scsi/vmw_pvscsi.c b/hw/scsi/vmw_pvscsi.c
index 77d8b6f..40dfffa 100644
--- a/hw/scsi/vmw_pvscsi.c
+++ b/hw/scsi/vmw_pvscsi.c
@@ -1300,6 +1300,8 @@ static const TypeInfo pvscsi_info = {
.class_init = pvscsi_class_init,
.interfaces = (InterfaceInfo[]) {
{ TYPE_HOTPLUG_HANDLER },
+ { INTERFACE_PCIE_DEVICE },
+ { INTERFACE_LEGACY_PCI_DEVICE },
{ }
}
};
diff --git a/hw/vfio/pci.c b/hw/vfio/pci.c
index 31e1edf..2b21391 100644
--- a/hw/vfio/pci.c
+++ b/hw/vfio/pci.c
@@ -3023,6 +3023,11 @@ static const TypeInfo vfio_pci_dev_info = {
.class_init = vfio_pci_dev_class_init,
.instance_init = vfio_instance_init,
.instance_finalize = vfio_instance_finalize,
+ .interfaces = (InterfaceInfo[]) {
+ { INTERFACE_PCIE_DEVICE },
+ { INTERFACE_LEGACY_PCI_DEVICE },
+ { }
+ },
};
static void register_vfio_pci_dev_type(void)
diff --git a/hw/virtio/virtio-pci.c b/hw/virtio/virtio-pci.c
index 8b0d6b6..8c0b6bf 100644
--- a/hw/virtio/virtio-pci.c
+++ b/hw/virtio/virtio-pci.c
@@ -1958,6 +1958,11 @@ static const TypeInfo virtio_pci_info = {
.class_init = virtio_pci_class_init,
.class_size = sizeof(VirtioPCIClass),
.abstract = true,
+ .interfaces = (InterfaceInfo[]) {
+ { INTERFACE_PCIE_DEVICE },
+ { INTERFACE_LEGACY_PCI_DEVICE },
+ { }
+ },
};
/* virtio-blk-pci */
--
2.9.4
next prev parent reply other threads:[~2017-08-23 22:15 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-23 22:14 [Qemu-devel] [PATCH 0/5] Mark legacy/PCIe/hybrid PCI devices using interface names Eduardo Habkost
2017-08-23 22:14 ` [Qemu-devel] [PATCH 1/5] pci: INTERFACE_LEGACY_PCI_DEVICE and INTERFACE_PCIE_DEVICE interfaces Eduardo Habkost
2017-08-25 18:22 ` Alistair Francis
2017-08-25 20:19 ` Alex Williamson
2017-08-25 22:41 ` Eduardo Habkost
2017-08-23 22:14 ` Eduardo Habkost [this message]
2017-08-25 19:18 ` [Qemu-devel] [PATCH 2/5] pci: Add interface names to hybrid PCI devices Eduardo Habkost
2017-08-27 8:33 ` Marcel Apfelbaum
2017-08-28 17:59 ` Eduardo Habkost
2017-08-25 19:35 ` Eduardo Habkost
2017-08-27 7:48 ` Marcel Apfelbaum
2017-08-27 7:49 ` Marcel Apfelbaum
2017-08-23 22:14 ` [Qemu-devel] [PATCH 3/5] pci: Add INTERFACE_PCIE_DEVICE to all PCIe devices Eduardo Habkost
2017-08-25 18:22 ` Alistair Francis
2017-08-25 19:36 ` Eduardo Habkost
2017-08-27 8:35 ` Marcel Apfelbaum
2017-08-28 13:33 ` Eduardo Habkost
2017-08-23 22:14 ` [Qemu-devel] [PATCH 4/5] pci: Add INTERFACE_LEGACY_PCI_DEVICE to legacy PCI devices Eduardo Habkost
2017-08-25 19:39 ` Eduardo Habkost
2017-08-25 19:39 ` [Qemu-arm] " Eduardo Habkost
2017-08-25 19:39 ` Eduardo Habkost
2017-08-28 8:40 ` Alberto Garcia
2017-08-28 8:40 ` Alberto Garcia
2017-08-28 8:40 ` Alberto Garcia
2017-08-28 22:58 ` [Qemu-arm] " John Snow
2017-08-28 22:58 ` John Snow
2017-08-29 3:43 ` [Qemu-arm] " Eduardo Habkost
2017-08-29 3:43 ` Eduardo Habkost
2017-08-29 3:43 ` Eduardo Habkost
2017-08-28 22:58 ` John Snow
2017-09-25 14:32 ` Anthony PERARD
2017-08-23 22:14 ` [Qemu-devel] [PATCH 5/5] pci: Validate interfaces on base_class_init Eduardo Habkost
2017-08-25 18:25 ` Alistair Francis
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=20170823221445.15243-3-ehabkost@redhat.com \
--to=ehabkost@redhat.com \
--cc=laine@redhat.com \
--cc=marcel@redhat.com \
--cc=mst@redhat.com \
--cc=qemu-devel@nongnu.org \
/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.