mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 07:43:54 -06:00
vfio: Create host IOMMU device instance
Create host IOMMU device instance in vfio_attach_device() and call .realize() to initialize it further. Introuduce attribute VFIOIOMMUClass::hiod_typename and initialize it based on VFIO backend type. It will facilitate HostIOMMUDevice creation in vfio_attach_device(). Suggested-by: Cédric Le Goater <clg@redhat.com> Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com> Reviewed-by: Eric Auger <eric.auger@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
63c6e83ec2
commit
a7fd91b876
5 changed files with 23 additions and 1 deletions
|
@ -127,6 +127,7 @@ typedef struct VFIODevice {
|
|||
OnOffAuto pre_copy_dirty_page_tracking;
|
||||
bool dirty_pages_supported;
|
||||
bool dirty_tracking;
|
||||
HostIOMMUDevice *hiod;
|
||||
int devid;
|
||||
IOMMUFDBackend *iommufd;
|
||||
} VFIODevice;
|
||||
|
|
|
@ -109,6 +109,9 @@ DECLARE_CLASS_CHECKERS(VFIOIOMMUClass, VFIO_IOMMU, TYPE_VFIO_IOMMU)
|
|||
struct VFIOIOMMUClass {
|
||||
InterfaceClass parent_class;
|
||||
|
||||
/* Properties */
|
||||
const char *hiod_typename;
|
||||
|
||||
/* basic feature */
|
||||
bool (*setup)(VFIOContainerBase *bcontainer, Error **errp);
|
||||
int (*dma_map)(const VFIOContainerBase *bcontainer,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue