| # -*- 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' | |
| } } |