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 Bouviervoid 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 Bouviervoid 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 Bouviervoid migration_populate_vfio_info(MigrationInfo *info) 32*b496a392SPierrick Bouvier { 33*b496a392SPierrick Bouvier } 34*b496a392SPierrick Bouvier migration_reset_vfio_bytes_transferred(void)35*b496a392SPierrick Bouviervoid migration_reset_vfio_bytes_transferred(void) 36*b496a392SPierrick Bouvier { 37*b496a392SPierrick Bouvier } 38*b496a392SPierrick Bouvier #endif 39