qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH v3 1/3] qapi/qdev.json: add DEVICE_UNPLUG_ERROR QAPI event


From: Daniel Henrique Barboza
Subject: [PATCH v3 1/3] qapi/qdev.json: add DEVICE_UNPLUG_ERROR QAPI event
Date: Mon, 21 Jun 2021 17:59:05 -0300

At this moment we only provide one event to report a hotunplug error,
MEM_UNPLUG_ERROR. As of Linux kernel 5.12 and QEMU 6.0.0, the pseries
machine is now able to report unplug errors for other device types, such
        as CPUs.

        Instead of creating a (device_type)_UNPLUG_ERROR for each new device,
        create a generic DEVICE_UNPLUG_ERROR event that can be used by all
        unplug errors in the future.

        With this new generic event, MEM_UNPLUG_ERROR is now marked as 
deprecated.

        Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
        ---
         docs/system/deprecated.rst | 10 ++++++++++
         qapi/machine.json          |  6 +++++-
         qapi/qdev.json             | 27 ++++++++++++++++++++++++++-
         3 files changed, 41 insertions(+), 2 deletions(-)

        diff --git a/docs/system/deprecated.rst b/docs/system/deprecated.rst
        index e2e0090878..c8200d99d4 100644
        --- a/docs/system/deprecated.rst
        +++ b/docs/system/deprecated.rst
        @@ -192,6 +192,16 @@ The ``I7200`` guest CPU relies on the nanoMIPS 
ISA, which is deprecated
         (the ISA has never been upstreamed to a compiler toolchain). Therefore
         this CPU is also deprecated.
         
        +
        +QEMU API (QAPI) events
        +----------------------
        +
        +``MEM_UNPLUG_ERROR`` (since 6.1)
        +''''''''''''''''''''''''''''''''''''''''''''''''''''''''
        +
        +Use the more generic event ``DEVICE_UNPLUG_ERROR`` instead.
        +
        +
         System emulator machines
         ------------------------
         
        diff --git a/qapi/machine.json b/qapi/machine.json
        index e4d0f9b24f..91dc520734 100644
        --- a/qapi/machine.json
        +++ b/qapi/machine.json
        @@ -1271,6 +1271,9 @@
         #
         # @msg: Informative message
         #
        +# Features:
        +# @deprecated: This event is deprecated. Use @DEVICE_UNPLUG_ERROR 
instead.
        +#
         # Since: 2.4
         #
         # Example:
        @@ -1283,4 +1286,5 @@
         #
         ##
         { 'event': 'MEM_UNPLUG_ERROR',
        -  'data': { 'device': 'str', 'msg': 'str' } }
        +  'data': { 'device': 'str', 'msg': 'str' },
        +  'features': ['deprecated'] }
        diff --git a/qapi/qdev.json b/qapi/qdev.json
        index b83178220b..349d7439fa 100644
        --- a/qapi/qdev.json
        +++ b/qapi/qdev.json
        @@ -84,7 +84,9 @@
         #        This command merely requests that the guest begin the hot 
removal
         #        process.  Completion of the device removal process is 
signaled with a
         #        DEVICE_DELETED event. Guest reset will automatically complete 
removal
        -#        for all devices.
        +#        for all devices. If an error in the hot removal process is 
detected,
        +#        the device will not be removed and a DEVICE_UNPLUG_ERROR 
event is
        +#        sent.
         #
         # Since: 0.14
         #
        @@ -124,3 +126,26 @@
         ##
         { 'event': 'DEVICE_DELETED',
           'data': { '*device': 'str', 'path': 'str' } }
        +
        +##
        +# @DEVICE_UNPLUG_ERROR:
        +#
        +# Emitted when a device hot unplug error occurs.
        +#
        +# @device: device name
        +#
        +# @msg: Informative message
        +#
        +# Since: 6.1
        +#
        +# Example:
        +#
        +# <- { "event": "DEVICE_UNPLUG_ERROR"
        +#      "data": { "device": "dimm1",
        +#                "msg": "Memory hotunplug rejected by the guest for 
device dimm1"
        +#      },
        +#      "timestamp": { "seconds": 1615570772, "microseconds": 202844 } }
        +#
        +##
        +{ 'event': 'DEVICE_UNPLUG_ERROR',
        +  'data': { 'device': 'str', 'msg': 'str' } }
        -- 
        2.31.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]