From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54730) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XYXwx-0003Fz-P7 for qemu-devel@nongnu.org; Mon, 29 Sep 2014 06:13:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XYXwr-0001RI-HT for qemu-devel@nongnu.org; Mon, 29 Sep 2014 06:12:59 -0400 Received: from mx1.redhat.com ([209.132.183.28]:24557) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XYXwr-0001QF-9q for qemu-devel@nongnu.org; Mon, 29 Sep 2014 06:12:53 -0400 Date: Mon, 29 Sep 2014 13:16:08 +0300 From: "Michael S. Tsirkin" Message-ID: <20140929101608.GC32459@redhat.com> References: <1411723721-20484-1-git-send-email-imammedo@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1411723721-20484-1-git-send-email-imammedo@redhat.com> Subject: Re: [Qemu-devel] [PATCH v2 00/36] complete conversion to hotplug-handler API List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Igor Mammedov Cc: cornelia.huck@de.ibm.com, amit.shah@redhat.com, qemu-devel@nongnu.org, agraf@suse.de, borntraeger@de.ibm.com, kraxel@redhat.com, dmitry@daynix.com, pbonzini@redhat.com, rth@twiddle.net On Fri, Sep 26, 2014 at 09:28:05AM +0000, Igor Mammedov wrote: > Changes since v1: > * added usb-uas test > * drop hotplug check in bus_add_child() > * make SCSI & USB bus as default HotplugHandler > * fixed dummy HBA hot(un)plug > * fixed hotunplug on s390x > * prevent hotplug of non hotpluggable devices For pci, virtio, acpi bits: Reviewed-by: Michael S. Tsirkin Which tree should this go in through? afaerber's? In that case, it might be a good idea to Cc him ... > -- > > Series unifies different hotplug mechanisms to a recent > hotplug-handler API and does shallow conversion of > devices that still use legacy qdev hotplug to it dropping > not used after that legacy hotplug path [29/30]. > It also relaces SCSI's own way to do hotplug/unplug with > hotplug-handler callbacks leaving it the only method > perform hotplug tasks. > And the last patch [30/30] allows to unplug of BUS-less > devices using hotplug-handler API. > > Converted devices are covered with new hotplug > unit-tests, except of: > s390x-*: I have no idea how or means to test it, but code > is close to virtio, so it's converted using > virtio template > pvscsi: is broken, so no means to test it > > Git tree for testing: > https://github.com/imammedo/qemu/commits/hp_ctrl_conversion_v2 > > > Igor Mammedov (36): > test: virtio-scsi: check if hot-plug/unplug works > test: virtio-serial: check if hot-plug/unplug works > test: libqos: add qpci_plug_device_test() and > qpci_unplug_acpi_device_test() > test: virtio-rng: check if hot-plug/unplug works > test: virtio-net: check if hot-plug/unplug works > test: virtio-blk: check if hot-plug/unplug works > test: usb: move uhci port test code to libqos/usb.c > test: usb: add port test to uhci unit test > test: usb: generic usb device hotplug > test: usb: usb-storage hotplug test > test: usb: usb-uas hotplug test > access BusState.allow_hotplug using wraper qbus_is_hotpluggable() > qdev: do not allow to instantiate non hotpluggable device with > device_add > qdev: HotplugHandler: rename unplug callback to unplug_request > qdev: HotplugHandler: provide unplug callback > qdev: add simple/generic unplug callback for HotplugHandler > qdev: add wrapper to set BUS as HotplugHandler > qdev: drop hotplug check from bus_add_child() > target-i386: ICC bus: drop BusState.allow_hotplug > virtio-pci: drop BusState.allow_hotplug > virtio-serial: convert to hotplug-handler API > virtio-mmio: drop useless bus->allow_hotplug = 0 > s390x: drop not used allow_hotplug in event-facility > s390x: convert s390-virtio to hotplug handler API > s390x: convert virtio-ccw to hotplug handler API > scsi: set SCSI BUS itself as default HotplugHandler > scsi: convert pvscsi HBA to hotplug handler API > scsi: convert virtio-scsi HBA to hotplug handler API > scsi: cleanup not used anymore SCSIBusInfo{hotplug,hot_unplug} fields > usb-bot: mark device as non hotpluggable > usb-bot: drop not needed "allow_hotplug = 0" > usb-storage: drop not needed "allow_hotplug = 0" > usb: convert usb-ccid to hotplug handler API > usb: convert usb devices to hotplug handler API > qdev: drop legacy hotplug fields/methods > qdev: HotplugHandler: add support for unplugging BUS-less devices > > hw/acpi/piix4.c | 6 +-- > hw/char/virtio-serial-bus.c | 20 +++++++--- > hw/core/hotplug.c | 11 ++++++ > hw/core/qdev.c | 85 ++++++++++++++++++++++++++++-------------- > hw/cpu/icc_bus.c | 8 ---- > hw/i386/acpi-build.c | 2 +- > hw/isa/lpc_ich9.c | 6 +-- > hw/pci-bridge/pci_bridge_dev.c | 2 +- > hw/pci/pci-hotplug-old.c | 4 +- > hw/pci/pcie.c | 4 +- > hw/pci/pcie_port.c | 2 +- > hw/pci/shpc.c | 4 +- > hw/s390x/event-facility.c | 2 - > hw/s390x/s390-virtio-bus.c | 12 +++--- > hw/s390x/virtio-ccw.c | 17 +++++---- > hw/scsi/scsi-bus.c | 24 ++++-------- > hw/scsi/virtio-scsi.c | 30 ++++++++++----- > hw/scsi/vmw_pvscsi.c | 26 +++++++++---- > hw/usb/bus.c | 9 ++++- > hw/usb/dev-smartcard-reader.c | 8 +++- > hw/usb/dev-storage.c | 4 +- > hw/virtio/virtio-mmio.c | 17 +-------- > hw/virtio/virtio-pci.c | 3 -- > include/hw/hotplug.h | 16 +++++++- > include/hw/pci/pcie.h | 4 +- > include/hw/pci/shpc.h | 4 +- > include/hw/qdev-core.h | 17 +++++---- > include/hw/scsi/scsi.h | 2 - > qdev-monitor.c | 5 ++- > tests/Makefile | 13 ++++--- > tests/libqos/pci-pc.c | 49 ++++++++++++++++++++++++ > tests/libqos/pci.h | 3 ++ > tests/libqos/usb.c | 71 +++++++++++++++++++++++++++++++++++ > tests/libqos/usb.h | 17 +++++++++ > tests/usb-hcd-ehci-test.c | 50 ++++++++++--------------- > tests/usb-hcd-ohci-test.c | 10 ++++- > tests/usb-hcd-uhci-test.c | 65 +++++++++++++++++++++++++++++++- > tests/usb-hcd-xhci-test.c | 68 ++++++++++++++++++++++++++++++++- > tests/virtio-blk-test.c | 49 ++++++++++++++++++------ > tests/virtio-net-test.c | 10 +++++ > tests/virtio-rng-test.c | 10 +++++ > tests/virtio-scsi-test.c | 29 ++++++++++++++ > tests/virtio-serial-test.c | 27 ++++++++++++++ > 43 files changed, 624 insertions(+), 201 deletions(-) > create mode 100644 tests/libqos/usb.c > create mode 100644 tests/libqos/usb.h > > -- > 1.8.3.1