From: Eduardo Habkost <ehabkost@redhat.com>
To: qemu-devel@nongnu.org
Cc: David Gibson <dgibson@redhat.com>,
Alistair Francis <alistair23@gmail.com>,
Laine Stump <laine@redhat.com>,
Alex Williamson <alex.williamson@redhat.com>,
"Michael S. Tsirkin" <mst@redhat.com>,
Marcel Apfelbaum <marcel@redhat.com>
Subject: [Qemu-devel] [PATCH v2 0/5] Mark conventional/PCIe/hybrid PCI devices using interface names
Date: Wed, 27 Sep 2017 16:56:30 -0300 [thread overview]
Message-ID: <20170927195635.16014-1-ehabkost@redhat.com> (raw)
Changes v1 -> v2:
* Use "Conventional PCI" instead of "legacy PCI"
* Suggested-by: Alex Williamson <alex.williamson@redhat.com>
* Mark base-xhci as hybrid too
* Reported-by: Marcel Apfelbaum <marcel@redhat.com>
* Mark pcie-pci-bridge as PCI Express only
* New Conventional PCI devices: sungem, sunhme
v1 was a reimplementation of one portion of an old RFC:
Subject: [RFC v2 00/20] qmp: Report bus information on
'query-machines'
This series marks each PCI device type as Conventional PCI, PCI
Express, or "hybrid". It uses two new QOM interface names to do
that: INTERFACE_CONVENTIONAL_PCI_DEVICE
("conventional-pci-device") and INTERFACE_PCIE_DEVICE
("pci-express-device"). Conventional PCI devices will implement
only the former; PCIe-only devices will implement only the
latter; hybrid devices will implement both interfaces.
With this, management software will then be able to use
qom-list-types to find out which PCI devices are
conventional/express/hybrid.
In the future, the new interface names can be used in the
bus/slot querying commands, to indicate which types of devices
are accepted on each slot.
The last patch in the series adds an assertion to the PCI device
class code, to ensure we won't forget to add the corresponding
interface names to new PCI device classes.
Eduardo Habkost (5):
pci: conventional-pci-device and pci-express-device interfaces
pci: Add interface names to hybrid PCI devices
pci: Add INTERFACE_PCIE_DEVICE to all PCIe devices
pci: Add INTERFACE_CONVENTIONAL_PCI_DEVICE to Conventional PCI devices
pci: Validate interfaces on base_class_init
include/hw/pci/pci.h | 6 ++++++
hw/acpi/piix4.c | 1 +
hw/audio/ac97.c | 4 ++++
hw/audio/es1370.c | 4 ++++
hw/audio/intel-hda.c | 4 ++++
hw/block/nvme.c | 4 ++++
hw/char/serial-pci.c | 12 ++++++++++++
hw/display/cirrus_vga.c | 4 ++++
hw/display/qxl.c | 4 ++++
hw/display/sm501.c | 4 ++++
hw/display/vga-pci.c | 4 ++++
hw/display/vmware_vga.c | 4 ++++
hw/i2c/smbus_ich9.c | 4 ++++
hw/i386/amd_iommu.c | 4 ++++
hw/i386/kvm/pci-assign.c | 4 ++++
hw/i386/pc_piix.c | 4 ++++
hw/i386/xen/xen_platform.c | 4 ++++
hw/i386/xen/xen_pvdevice.c | 4 ++++
hw/ide/ich.c | 4 ++++
hw/ide/pci.c | 4 ++++
hw/ipack/tpci200.c | 4 ++++
hw/isa/i82378.c | 4 ++++
hw/isa/lpc_ich9.c | 1 +
hw/isa/piix4.c | 4 ++++
hw/isa/vt82c686.c | 16 ++++++++++++++++
hw/mips/gt64xxx_pci.c | 4 ++++
hw/misc/edu.c | 5 +++++
hw/misc/ivshmem.c | 4 ++++
hw/misc/macio/macio.c | 4 ++++
hw/misc/pci-testdev.c | 4 ++++
hw/net/e1000.c | 4 ++++
hw/net/e1000e.c | 4 ++++
hw/net/eepro100.c | 4 ++++
hw/net/ne2000.c | 4 ++++
hw/net/pcnet-pci.c | 4 ++++
hw/net/rocker/rocker.c | 4 ++++
hw/net/rtl8139.c | 4 ++++
hw/net/sungem.c | 4 ++++
hw/net/sunhme.c | 4 ++++
hw/net/vmxnet3.c | 5 +++++
hw/pci-bridge/dec.c | 8 ++++++++
hw/pci-bridge/i82801b11.c | 4 ++++
hw/pci-bridge/pci_bridge_dev.c | 1 +
hw/pci-bridge/pci_expander_bridge.c | 8 ++++++++
hw/pci-bridge/pcie_pci_bridge.c | 1 +
hw/pci-bridge/pcie_root_port.c | 4 ++++
hw/pci-bridge/xio3130_downstream.c | 4 ++++
hw/pci-bridge/xio3130_upstream.c | 4 ++++
hw/pci-host/apb.c | 8 ++++++++
hw/pci-host/bonito.c | 4 ++++
hw/pci-host/gpex.c | 4 ++++
hw/pci-host/grackle.c | 4 ++++
hw/pci-host/piix.c | 8 ++++++++
hw/pci-host/ppce500.c | 4 ++++
hw/pci-host/prep.c | 4 ++++
hw/pci-host/q35.c | 4 ++++
hw/pci-host/uninorth.c | 16 ++++++++++++++++
hw/pci-host/versatile.c | 4 ++++
hw/pci-host/xilinx-pcie.c | 4 ++++
hw/pci/pci.c | 24 ++++++++++++++++++++++++
hw/ppc/ppc4xx_pci.c | 4 ++++
hw/scsi/esp-pci.c | 4 ++++
hw/scsi/lsi53c895a.c | 4 ++++
hw/scsi/megasas.c | 10 ++++++++++
hw/scsi/mptsas.c | 4 ++++
hw/scsi/vmw_pvscsi.c | 2 ++
hw/sd/sdhci.c | 4 ++++
hw/sh4/sh_pci.c | 4 ++++
hw/sparc64/sun4u.c | 4 ++++
hw/usb/hcd-ehci-pci.c | 4 ++++
hw/usb/hcd-ohci.c | 4 ++++
hw/usb/hcd-uhci.c | 4 ++++
hw/usb/hcd-xhci.c | 5 +++++
hw/vfio/pci-quirks.c | 4 ++++
hw/vfio/pci.c | 5 +++++
hw/virtio/virtio-pci.c | 5 +++++
hw/watchdog/wdt_i6300esb.c | 4 ++++
hw/xen/xen_pt.c | 4 ++++
78 files changed, 379 insertions(+)
--
2.13.5
next reply other threads:[~2017-09-27 19:56 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-09-27 19:56 Eduardo Habkost [this message]
2017-09-27 19:56 ` [Qemu-devel] [PATCH v2 1/5] pci: conventional-pci-device and pci-express-device interfaces Eduardo Habkost
2017-09-28 4:04 ` David Gibson
2017-09-28 9:08 ` Marcel Apfelbaum
2017-09-27 19:56 ` [Qemu-devel] [PATCH v2 2/5] pci: Add interface names to hybrid PCI devices Eduardo Habkost
2017-09-28 4:08 ` David Gibson
2017-09-28 9:27 ` Marcel Apfelbaum
2017-09-28 13:06 ` Eduardo Habkost
2017-09-29 0:35 ` David Gibson
2017-09-27 19:56 ` [Qemu-devel] [PATCH v2 3/5] pci: Add INTERFACE_PCIE_DEVICE to all PCIe devices Eduardo Habkost
2017-09-28 4:10 ` David Gibson
2017-09-28 9:31 ` Marcel Apfelbaum
2017-09-27 19:56 ` [Qemu-devel] [PATCH v2 4/5] pci: Add INTERFACE_CONVENTIONAL_PCI_DEVICE to Conventional PCI devices Eduardo Habkost
2017-09-28 4:12 ` David Gibson
2017-09-28 8:33 ` [Qemu-devel] [Xen-devel] " Jan Beulich
2017-09-28 13:12 ` Eduardo Habkost
2017-10-03 0:12 ` [Qemu-devel] xen-pci-passthrough PCI Express support? (Re: [Xen-devel] [PATCH v2 4/5] pci: Add INTERFACE_CONVENTIONAL_PCI_DEVICE to Conventional PCI devices) Eduardo Habkost
2017-10-03 17:12 ` Stefano Stabellini
2017-10-04 9:08 ` Jan Beulich
2017-10-04 13:06 ` Eduardo Habkost
2017-10-05 12:45 ` [Qemu-devel] [PATCH] xen/pt: Mark TYPE_XEN_PT_DEVICE as hybrid Eduardo Habkost
2017-09-28 9:35 ` [Qemu-devel] [PATCH v2 4/5] pci: Add INTERFACE_CONVENTIONAL_PCI_DEVICE to Conventional PCI devices Marcel Apfelbaum
2017-09-27 19:56 ` [Qemu-devel] [PATCH v2 5/5] pci: Validate interfaces on base_class_init Eduardo Habkost
2017-09-28 4:13 ` David Gibson
2017-09-28 9:36 ` Marcel Apfelbaum
2017-09-28 9:39 ` [Qemu-devel] [PATCH v2 0/5] Mark conventional/PCIe/hybrid PCI devices using interface names Marcel Apfelbaum
2017-09-28 13:15 ` Eduardo Habkost
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=20170927195635.16014-1-ehabkost@redhat.com \
--to=ehabkost@redhat.com \
--cc=alex.williamson@redhat.com \
--cc=alistair23@gmail.com \
--cc=dgibson@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 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).