Skip to content

QOM'ification of pci-bridge types

Andreas Färber qemu-devel 2 versions – Applied

Status from this message: Thanks, applied to qom-next:

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v2 Latest4 patches 8 repliesApplied
  2. v1 RFC4 patches 17 repliesSuperseded

Changes in v2 from the cover letter

* Rebased on PCIBridge change, replacing a new container_of().
* Moved qdev properties to PCIEPort and PCIESlot respectively.
* Don't cleverly avoid parent_obj.parent_obj chains in VMState (mst/aliguori).

Patches in v2 Applied

#Subject and filesSizeRepliesApplied
1/4pci-bridge: Turn PCIBridge into abstract QOM typehw/pci-bridge/dec.c hw/pci-bridge/i82801b11.c hw/pci-bridge/ioh3420.c +8 more+77 -533 replies
2/4pci-bridge-dev: QOM parent field cleanuphw/pci-bridge/pci_bridge_dev.c+14 -81 reply
3/4pci-bridge/i82801b11: Rename parent fieldhw/pci-bridge/i82801b11.c+3 -11 reply
4/4pcie_port: Turn PCIEPort and PCIESlot into abstract QOM typeshw/pci-bridge/ioh3420.c hw/pci-bridge/xio3130_downstream.c hw/pci-bridge/xio3130_upstream.c +2 more+85 -642 replies

Reviews trailers per patch

All 4 patches have a Reviewed-by or Acked-by.

PatchDon KochMichael S. Tsirkin
1/4R-b A-b
2/4R-b
3/4R-b
4/4R-b A-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v2 thread

Cover letter [Qemu-devel] [PATCH qom-next v2 0/4] QOM'ification of pci-bridge types

Hello Michael et al.,

This series turns PCIBridge, PCIEPort and PCIESlot into abstract QOM types, so that we can use QOM casts to obtain a pointer.

The PCIBridge part was prompted by Don Koch's PCI bridge patch; the remainder by Peter C.'s PCIDevice cast cleanups.

This prepares for turning the two-level qdev PCIDevice initfns into QOM multi-level realizefns, touched upon by Hu Tao's SysBus conversions.

v2 moves qdev properties to PCIEPort/PCIESlot as appropriate.

Regards,
Andreas

v1 -> v2:
* Rebased on PCIBridge change, replacing a new container_of().
* Moved qdev properties to PCIEPort and PCIESlot respectively.
* Don't cleverly avoid parent_obj.parent_obj chains in VMState (mst/aliguori).

Cc Anthony Liguori <[email protected]>
Cc Paolo Bonzini <[email protected]>
Cc Michael S. Tsirkin <[email protected]>
Cc Peter Crosthwaite <[email protected]>
Cc Hu Tao <[email protected]>

Andreas Färber (4):
pci-bridge: Turn PCIBridge into abstract QOM type
pci-bridge-dev: QOM parent field cleanup pci-bridge/i82801b11: Rename parent field
pcie_port: Turn PCIEPort and PCIESlot into abstract QOM types

 hw/pci-bridge/dec.c                |  4 +--
 hw/pci-bridge/i82801b11.c          | 10 +++++---
 hw/pci-bridge/ioh3420.c            | 35 ++++++++-----------------
 hw/pci-bridge/pci_bridge_dev.c     | 26 +++++++++++--------
 hw/pci-bridge/xio3130_downstream.c | 35 ++++++++-----------------
 hw/pci-bridge/xio3130_upstream.c   | 26 ++++++-------------
 hw/pci-host/apb.c                  |  4 +--
 hw/pci/pci.c                       |  2 +-
 hw/pci/pci_bridge.c                | 40 +++++++++++++++++++++--------
 hw/pci/pcie.c                      |  2 +-
 hw/pci/pcie_port.c                 | 52 ++++++++++++++++++++++++++++++++++++++
 include/hw/pci/pci_bus.h           |  7 ++++-
 include/hw/pci/pcie_port.h         | 14 ++++++++--
 13 files changed, 155 insertions(+), 102 deletions(-)
Signature · 1 line
1.8.1.4