xref: /openbmc/qemu/migration/vfio.c (revision e52966be20228456c4282acef00982ea37d8ab8d)
1*b496a392SPierrick Bouvier /*
2*b496a392SPierrick Bouvier  * QEMU live migration - VFIO
3*b496a392SPierrick Bouvier  *
4*b496a392SPierrick Bouvier  * This work is licensed under the terms of the GNU GPL, version 2
5*b496a392SPierrick Bouvier  * or (at your option) any later version.
6*b496a392SPierrick Bouvier  */
7*b496a392SPierrick Bouvier 
8*b496a392SPierrick Bouvier #include "qemu/osdep.h"
9*b496a392SPierrick Bouvier #include "qapi/qapi-types-migration.h"
10*b496a392SPierrick Bouvier #include "migration.h"
11*b496a392SPierrick Bouvier #include CONFIG_DEVICES
12*b496a392SPierrick Bouvier 
13*b496a392SPierrick Bouvier #ifdef CONFIG_VFIO
14*b496a392SPierrick Bouvier #include "hw/vfio/vfio-migration.h"
15*b496a392SPierrick Bouvier #endif
16*b496a392SPierrick Bouvier 
17*b496a392SPierrick Bouvier #ifdef CONFIG_VFIO
migration_populate_vfio_info(MigrationInfo * info)18*b496a392SPierrick Bouvier void migration_populate_vfio_info(MigrationInfo *info)
19*b496a392SPierrick Bouvier {
20*b496a392SPierrick Bouvier     if (vfio_migration_active()) {
21*b496a392SPierrick Bouvier         info->vfio = g_malloc0(sizeof(*info->vfio));
22*b496a392SPierrick Bouvier         info->vfio->transferred = vfio_migration_bytes_transferred();
23*b496a392SPierrick Bouvier     }
24*b496a392SPierrick Bouvier }
25*b496a392SPierrick Bouvier 
migration_reset_vfio_bytes_transferred(void)26*b496a392SPierrick Bouvier void migration_reset_vfio_bytes_transferred(void)
27*b496a392SPierrick Bouvier {
28*b496a392SPierrick Bouvier     vfio_migration_reset_bytes_transferred();
29*b496a392SPierrick Bouvier }
30*b496a392SPierrick Bouvier #else
migration_populate_vfio_info(MigrationInfo * info)31*b496a392SPierrick Bouvier void migration_populate_vfio_info(MigrationInfo *info)
32*b496a392SPierrick Bouvier {
33*b496a392SPierrick Bouvier }
34*b496a392SPierrick Bouvier 
migration_reset_vfio_bytes_transferred(void)35*b496a392SPierrick Bouvier void migration_reset_vfio_bytes_transferred(void)
36*b496a392SPierrick Bouvier {
37*b496a392SPierrick Bouvier }
38*b496a392SPierrick Bouvier #endif
39