Hi, In this version the most notable changes are additional cleanups/fixes patches that precedes the introduction of the new DEVICE_UNPLUG_ERROR API, and the change of DEVICE_UNPLUG_ERROR to behave more in line with DEVICE_DELETED, as suggested by Markus.
This is how the new event looks like: {"execute": "device_del", "arguments": {"id": "core1"} } {"return": {}} {"timestamp": {"seconds": 1626117386, "microseconds": 182215}, "event": "DEVICE_UNPLUG_ERROR", "data": {"device": "core1", "msg": "Device hotunplug rejected by the guest for device core1", "path": "/machine/peripheral/core1"}} I kept the 'msg' element since both MEM_UNPLUG_ERROR callers provides a reason for the failed unplug. This element works like 'device' and it's provided if available. changes from v4: - patch 1 (new): * avoid emitting MEM_UNPLUG_ERROR when dev->id == NULL in memory_hotplug.c - patch 2 (new): * avoid emitting MEM_UNPLUG_ERROR when dev->id == NULL in spapr.c - patch 3 (new): * do not error_report() when drc->dev->id == NULL - patch 4 (new): * update DEVICE_DELETED API docs - patch 5 (former 1): * added 2 spaces after each sentence * appended "Some errors cannot be detected." in DEVICE_UNPLUG_ERROR docs * changed release from 6.1 to 6.2 in docs * changed DEVICE_UNPLUG_ERROR API to behave more like device_deleted - patches 6 and 7: * changed to use the new DEVICE_UNPLUG_ERROR API - v4 link: https://lists.gnu.org/archive/html/qemu-devel/2021-07/msg01355.html changes from v3: - patch 1: * fixed format - all patches: * rebased with master * added David's R-b - v3 link: https://lists.gnu.org/archive/html/qemu-devel/2021-06/msg05842.html changes from v2: - patch 1: * moved DEVICE_UNPLUG_ERROR declaration to qapi/qdev.json * updated 'device_del' description * added 'deprecated' notice on MEM_UNPLUG_ERROR * added MEM_UNPLUG_ERROR 'deprecated' info in docs/system/deprecated.rst - patch 2: * send both MEM_UNPLUG_ERROR and DEVICE_UNPLUG_ERROR - patch 3 (new): * send DEVICE_UNPLUG_ERROR in acpi/memory_hotplug.c - v2 link: https://lists.gnu.org/archive/html/qemu-devel/2021-06/msg01304.html changes from v1: - former patches 1 and 2: dropped - patch 1 (former 3): changed the version to '6.1' - patch 2 (former 4): add a DEVICE_UNPLUG_ERROR event in the device unplug error path of CPUs and DIMMs - v1 link: https://lists.gnu.org/archive/html/qemu-devel/2021-03/msg04682.html Daniel Henrique Barboza (7): hw/acpi/memory_hotplug.c: avoid sending MEM_UNPLUG_ERROR if dev->id is NULL spapr.c: avoid sending MEM_UNPLUG_ERROR if dev->id is NULL spapr_drc.c: do not error_report() when drc->dev->id == NULL qapi/qdev.json: fix DEVICE_DELETED parameters doc qapi/qdev.json: add DEVICE_UNPLUG_ERROR QAPI event spapr: use DEVICE_UNPLUG_ERROR to report unplug errors memory_hotplug.c: send DEVICE_UNPLUG_ERROR in acpi_memory_hotplug_write() docs/system/deprecated.rst | 10 ++++++++++ hw/acpi/memory_hotplug.c | 19 +++++++++++++++++-- hw/ppc/spapr.c | 17 +++++++++++++---- hw/ppc/spapr_drc.c | 20 ++++++++++++++------ qapi/machine.json | 6 +++++- qapi/qdev.json | 34 +++++++++++++++++++++++++++++++--- stubs/qdev.c | 7 +++++++ 7 files changed, 97 insertions(+), 16 deletions(-) -- 2.31.1