diff options
author | Cédric Le Goater <clg@redhat.com> | 2024-05-16 14:46:54 +0200 |
---|---|---|
committer | Cédric Le Goater <clg@redhat.com> | 2024-05-16 16:59:19 +0200 |
commit | 3783f814e7e2e11cbd4e18e51e710db37900a1b8 (patch) | |
tree | bae379388e7f9c94a3f3f76ba9f41eaddbab1b77 /include/hw/vfio | |
parent | fbd2469a66e3fd3f3457170928daf8098f207427 (diff) | |
download | qemu-3783f814e7e2e11cbd4e18e51e710db37900a1b8.zip qemu-3783f814e7e2e11cbd4e18e51e710db37900a1b8.tar.gz qemu-3783f814e7e2e11cbd4e18e51e710db37900a1b8.tar.bz2 |
vfio/migration: Add Error** argument to .vfio_save_config() handler
Use vmstate_save_state_with_err() to improve error reporting in the
callers and store a reported error under the migration stream. Add
documentation while at it.
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Reviewed-by: Avihai Horon <avihaih@nvidia.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>
Diffstat (limited to 'include/hw/vfio')
-rw-r--r-- | include/hw/vfio/vfio-common.h | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/include/hw/vfio/vfio-common.h b/include/hw/vfio/vfio-common.h index d66e27d..3ff633a 100644 --- a/include/hw/vfio/vfio-common.h +++ b/include/hw/vfio/vfio-common.h @@ -133,7 +133,30 @@ struct VFIODeviceOps { int (*vfio_hot_reset_multi)(VFIODevice *vdev); void (*vfio_eoi)(VFIODevice *vdev); Object *(*vfio_get_object)(VFIODevice *vdev); - void (*vfio_save_config)(VFIODevice *vdev, QEMUFile *f); + + /** + * @vfio_save_config + * + * Save device config state + * + * @vdev: #VFIODevice for which to save the config + * @f: #QEMUFile where to send the data + * @errp: pointer to Error*, to store an error if it happens. + * + * Returns zero to indicate success and negative for error + */ + int (*vfio_save_config)(VFIODevice *vdev, QEMUFile *f, Error **errp); + + /** + * @vfio_load_config + * + * Load device config state + * + * @vdev: #VFIODevice for which to load the config + * @f: #QEMUFile where to get the data + * + * Returns zero to indicate success and negative for error + */ int (*vfio_load_config)(VFIODevice *vdev, QEMUFile *f); }; |