On 02.03.23 11:44, Michael S. Tsirkin wrote:
On Thu, Feb 16, 2023 at 09:03:56PM +0300, Vladimir Sementsov-Ogievskiy wrote:
We have DEVICE_DELETED event, that signals that device_del command is
actually completed. But we don't have a counter-part for device_add.
Still it's sensible for SHPC and PCIe-native hotplug, as there are time
when the device in some intermediate state. Let's add an event that say
that the device is finally powered on, power indicator is on and
everything is OK for next manipulation on that device.

Signed-off-by: Vladimir Sementsov-Ogievskiy <vsement...@yandex-team.ru>
---
  qapi/qdev.json | 10 ++++++++++
  hw/pci/pcie.c  | 14 ++++++++++++++
  hw/pci/shpc.c  | 12 ++++++++++++
  3 files changed, 36 insertions(+)

diff --git a/qapi/qdev.json b/qapi/qdev.json
index 6f2d8d6647..116a8a7de8 100644
--- a/qapi/qdev.json
+++ b/qapi/qdev.json
@@ -348,3 +348,13 @@
  { 'command': 'query-hotplug',
    'data': { 'id': 'str' },
    'returns': 'HotplugInfo' }
+
+##
+# @DEVICE_ON:
+#
+# Emitted whenever the device insertion completion is acknowledged by the 
guest.
+# For now only emitted for SHPC and PCIe-native hotplug.
+#
+# Since: 8.0
+##
+{ 'event': 'DEVICE_ON', 'data': 'DeviceAndPath' }

Same as any event, this has to be accompanied by a query.
Which query returns the "ON" status?


Hmm. Seems correct to add "ON" status into "hostplug state", to be returned by 
query-hotplug. And then, its change should be reported by HOTPLUG_STATE, and separate DEVICE_ON is 
not needed.

--
Best regards,
Vladimir


Reply via email to