All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH V2 0/7] Virtio-refactoring part1.
@ 2013-01-09 15:56 fred.konrad
  2013-01-09 15:56 ` [Qemu-devel] [PATCH V2 1/7] qdev: add a maximum device allowed field for the bus fred.konrad
                   ` (6 more replies)
  0 siblings, 7 replies; 16+ messages in thread
From: fred.konrad @ 2013-01-09 15:56 UTC (permalink / raw)
  To: qemu-devel, aliguori
  Cc: kwolf, peter.maydell, e.voevodin, mst, mark.burton, agraf,
	amit.shah, aneesh.kumar, stefanha, cornelia.huck, pbonzini,
	afaerber, fred.konrad

From: KONRAD Frederic <fred.konrad@greensocs.com>

This is the part 1/3 of the virtio-refactoring.

It introduces virtio-bus, virtio-pci-bus, virtio-s390-bus, and creates
virtio-pci, virtio-device.

You can clone that from here :
git://git.greensocs.com/qemu_virtio.git virtio_refactoring_part1

There is a little patch reorganization (refactor virtio-device was 5 before).

Anthony you already reviewed 03/07 and 04/07 but as there are little
modifications I don't put the tag.

Changes since patch v1:
    * virtio-pci: Avoid code duplication (in switch/case).
    * virtio-x-bus: Add the VirtioXBusClass.
    * cut the series.

Changes since v9:
    * Refactored all the remaining devices with the same way as virtio-blk.
    * Moved the virtio device's structure in the header.
    * Fixed the init with only one allocation.
    * Fixed the indentation and code style errors.
    * s390 device's are refactored the same way as pci one.
    * Moved max_dev from BusState to BusClass.

Changes v8 -> v9:
    * Modified virtio-bus.c function name. (virtio_device_ prefix.)
    * Removed qdev_create(..) in virtio-blk-x, object_new
      + object_property_add_child used instead.

Changes v7 -> v8:
    * Moved virtio-blk-pci PCI IDs to "Add the virtio-blk device.".
    * virtio : Added virtio_device_init which init children and plug the device.
    * virtio : Added virtio_common_cleanup in the same way as
      virtio_common_init.
    * virtio-blk : Moved virtio_plug_device to virtio-device init.
    * virtio-blk : Inline the virtio_blk_exit function in
      virtio_blk_device_exit and use virtio_common_cleanup.
    * virtio-s390-bus : Added virtio-s390-bus.
    * virtio-s390-device : Added a virtio-s390-bus.
    * virtio-blk-s390 : Switched to the new API.
    * virtio : removed function pointer.
    * virtio : removed VirtinBindings.
    * virtio : cleaned up init and exit function.

Changes v6 -> v7:
    * virtio-bus : Added virtio-bus-reset.
    * virtio-pci : Fixed virtio-pci-exit.
    * virtio-pci : Added virtio-pci-rst.
    * virtio-pci : Added VirtioPCIClass filled with an init function.
    * virtio-blk : Added virtio_blk_set_conf.
    * virtio-blk : QOM casts.
    * virtio-blk-pci : Switched to the new API.

Changes v5 -> v6:
    * Renamed virtio_common_init_ to virtio_init, modify virtio_common_init to
      allocate and call virtio_init. Drop the unused structure size parameters.
    * Renamed init/exit callback in VirtioBusClass.
    * Renamed virtio_blk_init virtio_blk_common_init.
    * Modified virtio_blk_init to call virtio_blk_common_init.

Changes v4 -> v5:
    * use ERROR_CLASS_GENERIC_ERROR in place of creating a new error type for
      the maximum device limitation. ( Peter )
    * Removed bus_in_use function. We assume that the virtio-bus is not in use,
      when plugin in. ( Peter )
    * Added virtio_bus_destroy_device().
    * Implemented the exit function of virtio-pci.
    * Implemented the init callback for virtio-pci ( must be modified, it still
      access vdev directly. ).
    * Implemented the exit callback for virtio-pci.
    * Started virtio-device refactoring.
    * Started virtio-blk refactoring. 

Changes v3 -> v4:
    * Added virtio-bus.o in Makefile.objs ( accidentally dropped from v3 ).
    * *const* TypeInfo in virtio-bus.
    * Introduced virtio-pci-bus.
    * Reintroduced virtio-pci.
    * Introduced virtio-device.
    * Started virtio-blk refactoring.
    * Added an error type in qerror.h for the "bus full" error.

Changes v2 -> v3:
    * Added VirtioBusClass.
    * Renamed VirtioBus -> VirtioBusState.
    * Renamed qbus -> parent_obj.
    * Plug the device only in a non-full bus.

Changes v1 -> v2:
    * All the little fix you suggest ( License, Debug printf, naming convention,
      ...)
    * Added get_virtio_device_id(), and remove the pci_id* from the VirtioBus
      structure.
    * Added virtio_bus_reset().
    * Added cast macros VIRTIO_BUS.
    * Added virtio_bus_plug_device.
    * Replaced the old-style "bus->qbus" by BUS() macro.

KONRAD Frederic (7):
  qdev: add a maximum device allowed field for the bus.
  virtio-bus: introduce virtio-bus
  virtio-device: refactor virtio-device.
  virtio-pci-bus: introduce virtio-pci-bus.
  virtio-pci: refactor virtio-pci device.
  virtio-s390-bus: add virtio-s390-bus.
  virtio-s390-device: create a virtio-s390-bus during init.

 hw/Makefile.objs     |   1 +
 hw/qdev-core.h       |   2 +
 hw/qdev-monitor.c    |  12 ++++
 hw/s390-virtio-bus.c |  31 +++++++++
 hw/s390-virtio-bus.h |  18 ++++++
 hw/virtio-bus.c      | 178 +++++++++++++++++++++++++++++++++++++++++++++++++++
 hw/virtio-bus.h      |  98 ++++++++++++++++++++++++++++
 hw/virtio-pci.c      | 164 +++++++++++++++++++++++++++++++++++++++++++++++
 hw/virtio-pci.h      |  41 +++++++++++-
 hw/virtio.c          |  70 ++++++++++++++++----
 hw/virtio.h          |  30 +++++++++
 11 files changed, 631 insertions(+), 14 deletions(-)
 create mode 100644 hw/virtio-bus.c
 create mode 100644 hw/virtio-bus.h

-- 
1.7.11.7

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2013-01-14 21:41 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-01-09 15:56 [Qemu-devel] [PATCH V2 0/7] Virtio-refactoring part1 fred.konrad
2013-01-09 15:56 ` [Qemu-devel] [PATCH V2 1/7] qdev: add a maximum device allowed field for the bus fred.konrad
2013-01-09 15:56 ` [Qemu-devel] [PATCH V2 2/7] virtio-bus: introduce virtio-bus fred.konrad
2013-01-09 15:56 ` [Qemu-devel] [PATCH V2 3/7] virtio-device: refactor virtio-device fred.konrad
2013-01-14 19:06   ` Anthony Liguori
2013-01-14 20:05     ` KONRAD Frédéric
2013-01-14 20:29       ` Anthony Liguori
2013-01-09 15:56 ` [Qemu-devel] [PATCH V2 4/7] virtio-pci-bus: introduce virtio-pci-bus fred.konrad
2013-01-14 19:08   ` Anthony Liguori
2013-01-14 20:36     ` KONRAD Frédéric
2013-01-14 21:39       ` Andreas Färber
2013-01-14 21:41         ` KONRAD Frédéric
2013-01-09 15:56 ` [Qemu-devel] [PATCH V2 5/7] virtio-pci: refactor virtio-pci device fred.konrad
2013-01-14 19:13   ` Anthony Liguori
2013-01-09 15:56 ` [Qemu-devel] [PATCH V2 6/7] virtio-s390-bus: add virtio-s390-bus fred.konrad
2013-01-09 15:56 ` [Qemu-devel] [PATCH V2 7/7] virtio-s390-device: create a virtio-s390-bus during init fred.konrad

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.