mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-05 00:33:55 -06:00
vfio: add unmap_all flag to DMA unmap callback
We'll use this parameter shortly; this just adds the plumbing. Signed-off-by: John Levon <john.levon@nutanix.com> Reviewed-by: Cédric Le Goater <clg@redhat.com> Link: https://lore.kernel.org/qemu-devel/20250507152020.1254632-9-john.levon@nutanix.com Signed-off-by: Cédric Le Goater <clg@redhat.com>
This commit is contained in:
parent
cae04b5634
commit
5a22b50591
5 changed files with 30 additions and 11 deletions
|
@ -81,7 +81,7 @@ int vfio_container_dma_map(VFIOContainerBase *bcontainer,
|
|||
void *vaddr, bool readonly);
|
||||
int vfio_container_dma_unmap(VFIOContainerBase *bcontainer,
|
||||
hwaddr iova, ram_addr_t size,
|
||||
IOMMUTLBEntry *iotlb);
|
||||
IOMMUTLBEntry *iotlb, bool unmap_all);
|
||||
bool vfio_container_add_section_window(VFIOContainerBase *bcontainer,
|
||||
MemoryRegionSection *section,
|
||||
Error **errp);
|
||||
|
@ -120,9 +120,20 @@ struct VFIOIOMMUClass {
|
|||
int (*dma_map)(const VFIOContainerBase *bcontainer,
|
||||
hwaddr iova, ram_addr_t size,
|
||||
void *vaddr, bool readonly);
|
||||
/**
|
||||
* @dma_unmap
|
||||
*
|
||||
* Unmap an address range from the container.
|
||||
*
|
||||
* @bcontainer: #VFIOContainerBase to use for unmap
|
||||
* @iova: start address to unmap
|
||||
* @size: size of the range to unmap
|
||||
* @iotlb: The IOMMU TLB mapping entry (or NULL)
|
||||
* @unmap_all: if set, unmap the entire address space
|
||||
*/
|
||||
int (*dma_unmap)(const VFIOContainerBase *bcontainer,
|
||||
hwaddr iova, ram_addr_t size,
|
||||
IOMMUTLBEntry *iotlb);
|
||||
IOMMUTLBEntry *iotlb, bool unmap_all);
|
||||
bool (*attach_device)(const char *name, VFIODevice *vbasedev,
|
||||
AddressSpace *as, Error **errp);
|
||||
void (*detach_device)(VFIODevice *vbasedev);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue