# -*- Mode: Python -*-
# vim: filetype=python
#

##
# ************
# VFIO devices
# ************
##

##
# @QapiVfioMigrationState:
#
# An enumeration of the VFIO device migration states.  In addition to
# the regular states, there are prepare states (with 'prepare' suffix)
# which indicate that the device is just about to transition to the
# corresponding state.  Note that seeing a prepare state for state X
# doesn't guarantee that the next state will be X, as the state
# transition can fail and the device may transition to a different
# state instead.
#
# @stop: The device is stopped.
#
# @running: The device is running.
#
# @stop-copy: The device is stopped and its internal state is
#     available for reading.
#
# @resuming: The device is stopped and its internal state is available
#     for writing.
#
# @running-p2p: The device is running in the P2P quiescent state.
#
# @pre-copy: The device is running, tracking its internal state and
#     its internal state is available for reading.
#
# @pre-copy-p2p: The device is running in the P2P quiescent state,
#     tracking its internal state and its internal state is available
#     for reading.
#
# @pre-copy-p2p-prepare: The device is just about to move to
#     pre-copy-p2p state.  (since 11.0)
#
# Since: 9.1
##
{ 'enum': 'QapiVfioMigrationState',
  'data': [ 'stop', 'running', 'stop-copy', 'resuming', 'running-p2p',
            'pre-copy', 'pre-copy-p2p', 'pre-copy-p2p-prepare' ] }

##
# @VFIO_MIGRATION:
#
# This event is emitted when a VFIO device migration state is changed.
#
# @device-id: The device's id, if it has one.
#
# @qom-path: The device's QOM path.
#
# @device-state: The new changed device migration state.
#
# Since: 9.1
#
# .. qmp-example::
#
#     <- { "timestamp": { "seconds": 1713771323, "microseconds": 212268 },
#          "event": "VFIO_MIGRATION",
#          "data": {
#              "device-id": "vfio_dev1",
#              "qom-path": "/machine/peripheral/vfio_dev1",
#              "device-state": "stop" } }
##
{ 'event': 'VFIO_MIGRATION',
  'data': {
      'device-id': 'str',
      'qom-path': 'str',
      'device-state': 'QapiVfioMigrationState'
  } }
