qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2 0/5] Mark conventional/PCIe/hybrid PCI device


From: Marcel Apfelbaum
Subject: Re: [Qemu-devel] [PATCH v2 0/5] Mark conventional/PCIe/hybrid PCI devices using interface names
Date: Thu, 28 Sep 2017 12:39:23 +0300
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:52.0) Gecko/20100101 Thunderbird/52.3.0

On 27/09/2017 22:56, Eduardo Habkost wrote:
Changes v1 -> v2:
* Use "Conventional PCI" instead of "legacy PCI"
   * Suggested-by: Alex Williamson <address@hidden>
* Mark base-xhci as hybrid too
   * Reported-by: Marcel Apfelbaum <address@hidden>
* 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.


Hi Eduardo,

Now we need to get rid of the "is_express" field,
otherwise we have the same information on two places.

Thanks,
Marcel

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(+)





reply via email to

[Prev in Thread] Current Thread [Next in Thread]