vfio.json 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. # -*- Mode: Python -*-
  2. # vim: filetype=python
  3. #
  4. ##
  5. # = VFIO devices
  6. ##
  7. ##
  8. # @QapiVfioMigrationState:
  9. #
  10. # An enumeration of the VFIO device migration states.
  11. #
  12. # @stop: The device is stopped.
  13. #
  14. # @running: The device is running.
  15. #
  16. # @stop-copy: The device is stopped and its internal state is
  17. # available for reading.
  18. #
  19. # @resuming: The device is stopped and its internal state is available
  20. # for writing.
  21. #
  22. # @running-p2p: The device is running in the P2P quiescent state.
  23. #
  24. # @pre-copy: The device is running, tracking its internal state and
  25. # its internal state is available for reading.
  26. #
  27. # @pre-copy-p2p: The device is running in the P2P quiescent state,
  28. # tracking its internal state and its internal state is available
  29. # for reading.
  30. #
  31. # Since: 9.1
  32. ##
  33. { 'enum': 'QapiVfioMigrationState',
  34. 'data': [ 'stop', 'running', 'stop-copy', 'resuming', 'running-p2p',
  35. 'pre-copy', 'pre-copy-p2p' ] }
  36. ##
  37. # @VFIO_MIGRATION:
  38. #
  39. # This event is emitted when a VFIO device migration state is changed.
  40. #
  41. # @device-id: The device's id, if it has one.
  42. #
  43. # @qom-path: The device's QOM path.
  44. #
  45. # @device-state: The new changed device migration state.
  46. #
  47. # Since: 9.1
  48. #
  49. # .. qmp-example::
  50. #
  51. # <- { "timestamp": { "seconds": 1713771323, "microseconds": 212268 },
  52. # "event": "VFIO_MIGRATION",
  53. # "data": {
  54. # "device-id": "vfio_dev1",
  55. # "qom-path": "/machine/peripheral/vfio_dev1",
  56. # "device-state": "stop" } }
  57. ##
  58. { 'event': 'VFIO_MIGRATION',
  59. 'data': {
  60. 'device-id': 'str',
  61. 'qom-path': 'str',
  62. 'device-state': 'QapiVfioMigrationState'
  63. } }