vfio: Add Error** argument to .get_dirty_bitmap() handler
Let the callers do the error reporting. Add documentation while at it. 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>
This commit is contained in:
parent
ebb481c03c
commit
2da5f9e4d8
5 changed files with 67 additions and 37 deletions
|
|
@ -273,10 +273,9 @@ vfio_devices_all_running_and_mig_active(const VFIOContainerBase *bcontainer);
|
|||
bool
|
||||
vfio_devices_all_device_dirty_tracking(const VFIOContainerBase *bcontainer);
|
||||
int vfio_devices_query_dirty_bitmap(const VFIOContainerBase *bcontainer,
|
||||
VFIOBitmap *vbmap, hwaddr iova,
|
||||
hwaddr size);
|
||||
VFIOBitmap *vbmap, hwaddr iova, hwaddr size, Error **errp);
|
||||
int vfio_get_dirty_bitmap(const VFIOContainerBase *bcontainer, uint64_t iova,
|
||||
uint64_t size, ram_addr_t ram_addr);
|
||||
uint64_t size, ram_addr_t ram_addr, Error **errp);
|
||||
|
||||
/* Returns 0 on success, or a negative errno. */
|
||||
int vfio_device_get_name(VFIODevice *vbasedev, Error **errp);
|
||||
|
|
|
|||
|
|
@ -84,8 +84,7 @@ void vfio_container_del_section_window(VFIOContainerBase *bcontainer,
|
|||
int vfio_container_set_dirty_page_tracking(VFIOContainerBase *bcontainer,
|
||||
bool start, Error **errp);
|
||||
int vfio_container_query_dirty_bitmap(const VFIOContainerBase *bcontainer,
|
||||
VFIOBitmap *vbmap,
|
||||
hwaddr iova, hwaddr size);
|
||||
VFIOBitmap *vbmap, hwaddr iova, hwaddr size, Error **errp);
|
||||
|
||||
void vfio_container_init(VFIOContainerBase *bcontainer,
|
||||
VFIOAddressSpace *space,
|
||||
|
|
@ -138,9 +137,21 @@ struct VFIOIOMMUClass {
|
|||
*/
|
||||
int (*set_dirty_page_tracking)(const VFIOContainerBase *bcontainer,
|
||||
bool start, Error **errp);
|
||||
/**
|
||||
* @query_dirty_bitmap
|
||||
*
|
||||
* Get bitmap of dirty pages from container
|
||||
*
|
||||
* @bcontainer: #VFIOContainerBase from which to get dirty pages
|
||||
* @vbmap: #VFIOBitmap internal bitmap structure
|
||||
* @iova: iova base address
|
||||
* @size: size of iova range
|
||||
* @errp: pointer to Error*, to store an error if it happens.
|
||||
*
|
||||
* Returns zero to indicate success and negative for error
|
||||
*/
|
||||
int (*query_dirty_bitmap)(const VFIOContainerBase *bcontainer,
|
||||
VFIOBitmap *vbmap,
|
||||
hwaddr iova, hwaddr size);
|
||||
VFIOBitmap *vbmap, hwaddr iova, hwaddr size, Error **errp);
|
||||
/* PCI specific */
|
||||
int (*pci_hot_reset)(VFIODevice *vbasedev, bool single);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue