From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([209.51.188.92]:40273) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gvfvF-0002Y3-3I for qemu-devel@nongnu.org; Mon, 18 Feb 2019 05:13:13 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gvfvE-0005L0-9p for qemu-devel@nongnu.org; Mon, 18 Feb 2019 05:13:13 -0500 From: David Hildenbrand Date: Mon, 18 Feb 2019 11:12:51 +0100 Message-Id: <20190218101254.8007-1-david@redhat.com> Subject: [Qemu-devel] [PATCH v1 0/3] qdev: Hotplug handler chaining List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: qemu-s390x@nongnu.org, qemu-ppc@nongnu.org, Richard Henderson , David Gibson , Laurent Vivier , Cornelia Huck , Collin Walling , Pierre Morel , Michael Roth , Halil Pasic , "Michael S . Tsirkin" , Marcel Apfelbaum , Greg Kurz , Igor Mammedov , Eduardo Habkost , Christian Borntraeger , Paolo Bonzini , Eric Auger , Pankaj Gupta , David Hildenbrand This series implements support for hotplug handler chaining (proposed by Igor), something that is necessary to turn selected virtio devices into memory devices. Planned devices inlude virtio-mem and virtio-pmem. The machine hotplug handler can intercept hotplug handler calls to properly prepare/teardown the memory device part of a device. Control is then passed on to the actual bus hotplug handler. So the default hotplug handler is effectively overwritten to make interception possible. This series was tested against [PATCH v3 0/6] tests: Add device unplug tests RFCv2 -> v1: - "qdev: Let the hotplug_handler_unplug() caller delete the device" -- Fixed two spapr delete_device() calls I missed. Covered by tests now :) -- Handle + add a comment for host pci bridge unplug, for which we have code but no user yet. - virtio-pmem prototype will be handled from this point by Pankaj again, so no longer included David Hildenbrand (2): qdev: Let the hotplug_handler_unplug() caller delete the device qdev: Provide qdev_get_bus_hotplug_handler() Igor Mammedov (1): qdev: Let machine hotplug handler to override bus hotplug handler hw/acpi/cpu.c | 1 + hw/acpi/memory_hotplug.c | 1 + hw/acpi/pcihp.c | 3 ++- hw/core/qdev.c | 19 ++++++++++++------- hw/i386/pc.c | 5 ++--- hw/pci/pci.c | 3 ++- hw/pci/pcie.c | 3 ++- hw/pci/shpc.c | 3 ++- hw/ppc/spapr.c | 6 ++++-- hw/ppc/spapr_pci.c | 3 ++- hw/s390x/css-bridge.c | 2 +- hw/s390x/s390-pci-bus.c | 13 ++++++++----- include/hw/qdev-core.h | 12 ++++++++++++ qdev-monitor.c | 9 +++++++-- 14 files changed, 58 insertions(+), 25 deletions(-) -- 2.17.2