migration-multifd.h 1.0 KB

12345678910111213141516171819202122232425262728293031323334
  1. /*
  2. * Multifd VFIO migration
  3. *
  4. * Copyright (C) 2024,2025 Oracle and/or its affiliates.
  5. *
  6. * This work is licensed under the terms of the GNU GPL, version 2 or later.
  7. * See the COPYING file in the top-level directory.
  8. *
  9. * SPDX-License-Identifier: GPL-2.0-or-later
  10. */
  11. #ifndef HW_VFIO_MIGRATION_MULTIFD_H
  12. #define HW_VFIO_MIGRATION_MULTIFD_H
  13. #include "hw/vfio/vfio-common.h"
  14. bool vfio_multifd_setup(VFIODevice *vbasedev, bool alloc_multifd, Error **errp);
  15. void vfio_multifd_cleanup(VFIODevice *vbasedev);
  16. bool vfio_multifd_transfer_supported(void);
  17. bool vfio_multifd_transfer_enabled(VFIODevice *vbasedev);
  18. bool vfio_multifd_load_state_buffer(void *opaque, char *data, size_t data_size,
  19. Error **errp);
  20. void vfio_multifd_emit_dummy_eos(VFIODevice *vbasedev, QEMUFile *f);
  21. bool
  22. vfio_multifd_save_complete_precopy_thread(SaveLiveCompletePrecopyThreadData *d,
  23. Error **errp);
  24. int vfio_multifd_switchover_start(VFIODevice *vbasedev);
  25. #endif