diff options
author | Eric Auger <eric.auger@redhat.com> | 2017-06-13 14:57:00 +0100 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2017-06-13 14:57:00 +0100 |
commit | 556969e938a97e98eec9df039944741ed74ce049 (patch) | |
tree | 5bfd2e4bed79664d6ef46861ab7197f40d3eb35e /include/sysemu/kvm.h | |
parent | 1403f36447216775e701fdae8bc8f00d359ecf0a (diff) | |
download | qemu-556969e938a97e98eec9df039944741ed74ce049.zip qemu-556969e938a97e98eec9df039944741ed74ce049.tar.gz qemu-556969e938a97e98eec9df039944741ed74ce049.tar.bz2 |
kvm-all: Pass an error object to kvm_device_access
In some circumstances, we don't want to abort if the
kvm_device_access fails. This will be the case during ITS
migration, in case the ITS table save/restore fails because
the guest did not program the vITS correctly. So let's pass an
error object to the function and return the ioctl value. New
callers will be able to make a decision upon this returned
value.
Existing callers pass &error_abort which will cause the
function to abort on failure.
Signed-off-by: Eric Auger <eric.auger@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Message-id: 1497023553-18411-2-git-send-email-eric.auger@redhat.com
[PMM: wrapped long line]
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'include/sysemu/kvm.h')
-rw-r--r-- | include/sysemu/kvm.h | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/include/sysemu/kvm.h b/include/sysemu/kvm.h index a45c145..1e91613 100644 --- a/include/sysemu/kvm.h +++ b/include/sysemu/kvm.h @@ -294,12 +294,15 @@ int kvm_device_check_attr(int fd, uint32_t group, uint64_t attr); * @attr: the attribute of that group to set or get * @val: pointer to a storage area for the value * @write: true for set and false for get operation + * @errp: error object handle * - * This function is not allowed to fail. Use kvm_device_check_attr() - * in order to check for the availability of optional attributes. + * Returns: 0 on success + * < 0 on error + * Use kvm_device_check_attr() in order to check for the availability + * of optional attributes. */ -void kvm_device_access(int fd, int group, uint64_t attr, - void *val, bool write); +int kvm_device_access(int fd, int group, uint64_t attr, + void *val, bool write, Error **errp); /** * kvm_create_device - create a KVM device for the device control API |