xref: /openbmc/qemu/migration/vfio.c (revision b496a392fec656d8e7af81c496efa3d45fd59023)
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
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 
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
31*b496a392SPierrick Bouvier void migration_populate_vfio_info(MigrationInfo *info)
32*b496a392SPierrick Bouvier {
33*b496a392SPierrick Bouvier }
34*b496a392SPierrick Bouvier 
35*b496a392SPierrick Bouvier void migration_reset_vfio_bytes_transferred(void)
36*b496a392SPierrick Bouvier {
37*b496a392SPierrick Bouvier }
38*b496a392SPierrick Bouvier #endif
39