xref: /openbmc/qemu/hw/vfio/migration-multifd.h (revision 2400fad572906127e9d453b92f90806d66583dc7)
196116512SMaciej S. Szmigiero /*
296116512SMaciej S. Szmigiero  * Multifd VFIO migration
396116512SMaciej S. Szmigiero  *
496116512SMaciej S. Szmigiero  * Copyright (C) 2024,2025 Oracle and/or its affiliates.
596116512SMaciej S. Szmigiero  *
696116512SMaciej S. Szmigiero  * This work is licensed under the terms of the GNU GPL, version 2 or later.
796116512SMaciej S. Szmigiero  * See the COPYING file in the top-level directory.
896116512SMaciej S. Szmigiero  *
996116512SMaciej S. Szmigiero  * SPDX-License-Identifier: GPL-2.0-or-later
1096116512SMaciej S. Szmigiero  */
1196116512SMaciej S. Szmigiero 
1296116512SMaciej S. Szmigiero #ifndef HW_VFIO_MIGRATION_MULTIFD_H
1396116512SMaciej S. Szmigiero #define HW_VFIO_MIGRATION_MULTIFD_H
1496116512SMaciej S. Szmigiero 
1596116512SMaciej S. Szmigiero #include "hw/vfio/vfio-common.h"
1696116512SMaciej S. Szmigiero 
17ff2fd1f7SMaciej S. Szmigiero bool vfio_multifd_setup(VFIODevice *vbasedev, bool alloc_multifd, Error **errp);
18ff2fd1f7SMaciej S. Szmigiero void vfio_multifd_cleanup(VFIODevice *vbasedev);
19ff2fd1f7SMaciej S. Szmigiero 
202efa35d3SMaciej S. Szmigiero bool vfio_multifd_transfer_supported(void);
21ff2fd1f7SMaciej S. Szmigiero bool vfio_multifd_transfer_enabled(VFIODevice *vbasedev);
222efa35d3SMaciej S. Szmigiero 
233228d311SMaciej S. Szmigiero bool vfio_multifd_load_state_buffer(void *opaque, char *data, size_t data_size,
243228d311SMaciej S. Szmigiero                                     Error **errp);
253228d311SMaciej S. Szmigiero 
26*6d644baeSMaciej S. Szmigiero void vfio_multifd_emit_dummy_eos(VFIODevice *vbasedev, QEMUFile *f);
27*6d644baeSMaciej S. Szmigiero 
28*6d644baeSMaciej S. Szmigiero bool
29*6d644baeSMaciej S. Szmigiero vfio_multifd_save_complete_precopy_thread(SaveLiveCompletePrecopyThreadData *d,
30*6d644baeSMaciej S. Szmigiero                                           Error **errp);
31*6d644baeSMaciej S. Szmigiero 
32c59748c1SMaciej S. Szmigiero int vfio_multifd_switchover_start(VFIODevice *vbasedev);
33c59748c1SMaciej S. Szmigiero 
3496116512SMaciej S. Szmigiero #endif
35