This is the last of the core QOM series.  This series converts busses to QOM
using a model where busses are proper objects that inherit from Object directly.
Devices have a has-a relationship with any bus they implement.

This series also creates link associated with the device/bus relationships.  All
devices have a parent_bus link that can be (optionally) set to their parent_bus
property.  This link is typed as BusState.  Over time, I'd like to refactor
this to a subclass added property with a stronger type.  For instance, PCIDevice
would have a parent:link<PCIBus> property.

Busses also have links to their children.  These are anonymous/unstable names.
Long term, I'd like to move to having stable names based on bus specific
information.  For instance, PCI busses ought to use a 'slot[0.0]' naming
convention.

I've tested this series pretty extensively.  It should be clean except for the
one patch that temporarily breaks and then fixes info qdm/qtree.
---
v1 -> v2
 - Move sysbus to /machine/unattached/sysbus (Andreas)
 - Rebase

 exec.c                        |    4 
 hw/acpi_piix4.c               |   10 +
 hw/i2c.c                      |   34 +++--
 hw/ide/qdev.c                 |   55 +++++----
 hw/intel-hda.c                |   44 ++++---
 hw/isa-bus.c                  |   75 ++++++------
 hw/lsi53c895a.c               |    5 
 hw/pci-hotplug.c              |    6 -
 hw/pci.c                      |  221 +++++++++++++++++++------------------
 hw/pci_bridge.c               |    2 
 hw/pci_internals.h            |    2 
 hw/qdev-monitor.c             |  177 +++++++++++++++++-------------
 hw/qdev-properties.c          |   33 +----
 hw/qdev.c                     |  247 ++++++++++++++++++++++++++++--------------
 hw/qdev.h                     |   53 +++++----
 hw/s390-virtio-bus.c          |   39 +++---
 hw/scsi-bus.c                 |   80 +++++++------
 hw/scsi.h                     |    4 
 hw/spapr_pci.c                |    7 -
 hw/spapr_vio.c                |   56 +++++----
 hw/spapr_vty.c                |    6 -
 hw/ssi.c                      |   28 ++--
 hw/sysbus.c                   |   81 ++++++-------
 hw/usb/bus.c                  |  158 ++++++++++++++------------
 hw/usb/dev-smartcard-reader.c |   29 +++-
 hw/virtio-scsi.c              |    6 -
 hw/virtio-serial-bus.c        |   55 +++++----
 include/qemu/object.h         |   26 ++++
 qom/object.c                  |   33 +++++
 savevm.c                      |   12 +-
 30 files changed, 933 insertions(+), 655 deletions(-)


Reply via email to