mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 07:13:54 -06:00
vfio: Introduce a new header file for VFIOIOMMUFD declarations
Gather all VFIOIOMMUFD related declarations introduced by commits5ee3dc7af7
("vfio/iommufd: Implement the iommufd backend") and5b1e96e654
("vfio/iommufd: Introduce auto domain creation") into "vfio-iommufd.h". This to reduce exposure of VFIO internals in "hw/vfio/vfio-common.h". Cc: Joao Martins <joao.m.martins@oracle.com> Cc: Yi Liu <yi.l.liu@intel.com> Reviewed-by: John Levon <john.levon@nutanix.com> Link: https://lore.kernel.org/qemu-devel/20250318095415.670319-10-clg@redhat.com Reviewed-by: Joao Martins <joao.m.martins@oracle.com> Reviewed-by: Zhenzhong Duan <zhenzhong.duan@intel.com> Link: https://lore.kernel.org/qemu-devel/20250326075122.1299361-11-clg@redhat.com Signed-off-by: Cédric Le Goater <clg@redhat.com>
This commit is contained in:
parent
5a339dd8c1
commit
d4a8f286e9
3 changed files with 38 additions and 18 deletions
|
@ -25,6 +25,7 @@
|
|||
#include "qemu/cutils.h"
|
||||
#include "qemu/chardev_open.h"
|
||||
#include "pci.h"
|
||||
#include "vfio-iommufd.h"
|
||||
|
||||
static int iommufd_cdev_map(const VFIOContainerBase *bcontainer, hwaddr iova,
|
||||
ram_addr_t size, void *vaddr, bool readonly)
|
||||
|
|
34
hw/vfio/vfio-iommufd.h
Normal file
34
hw/vfio/vfio-iommufd.h
Normal file
|
@ -0,0 +1,34 @@
|
|||
/*
|
||||
* VFIO iommufd
|
||||
*
|
||||
* Copyright Red Hat, Inc. 2025
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*/
|
||||
|
||||
#ifndef HW_VFIO_VFIO_IOMMUFD_H
|
||||
#define HW_VFIO_VFIO_IOMMUFD_H
|
||||
|
||||
#include "hw/vfio/vfio-container-base.h"
|
||||
|
||||
typedef struct VFIODevice VFIODevice;
|
||||
|
||||
typedef struct VFIOIOASHwpt {
|
||||
uint32_t hwpt_id;
|
||||
uint32_t hwpt_flags;
|
||||
QLIST_HEAD(, VFIODevice) device_list;
|
||||
QLIST_ENTRY(VFIOIOASHwpt) next;
|
||||
} VFIOIOASHwpt;
|
||||
|
||||
typedef struct IOMMUFDBackend IOMMUFDBackend;
|
||||
|
||||
typedef struct VFIOIOMMUFDContainer {
|
||||
VFIOContainerBase bcontainer;
|
||||
IOMMUFDBackend *be;
|
||||
uint32_t ioas_id;
|
||||
QLIST_HEAD(, VFIOIOASHwpt) hwpt_list;
|
||||
} VFIOIOMMUFDContainer;
|
||||
|
||||
OBJECT_DECLARE_SIMPLE_TYPE(VFIOIOMMUFDContainer, VFIO_IOMMU_IOMMUFD);
|
||||
|
||||
#endif /* HW_VFIO_VFIO_IOMMUFD_H */
|
|
@ -69,27 +69,12 @@ typedef struct VFIOContainer {
|
|||
|
||||
OBJECT_DECLARE_SIMPLE_TYPE(VFIOContainer, VFIO_IOMMU_LEGACY);
|
||||
|
||||
typedef struct IOMMUFDBackend IOMMUFDBackend;
|
||||
|
||||
typedef struct VFIOIOASHwpt {
|
||||
uint32_t hwpt_id;
|
||||
uint32_t hwpt_flags;
|
||||
QLIST_HEAD(, VFIODevice) device_list;
|
||||
QLIST_ENTRY(VFIOIOASHwpt) next;
|
||||
} VFIOIOASHwpt;
|
||||
|
||||
typedef struct VFIOIOMMUFDContainer {
|
||||
VFIOContainerBase bcontainer;
|
||||
IOMMUFDBackend *be;
|
||||
uint32_t ioas_id;
|
||||
QLIST_HEAD(, VFIOIOASHwpt) hwpt_list;
|
||||
} VFIOIOMMUFDContainer;
|
||||
|
||||
OBJECT_DECLARE_SIMPLE_TYPE(VFIOIOMMUFDContainer, VFIO_IOMMU_IOMMUFD);
|
||||
|
||||
typedef struct VFIODeviceOps VFIODeviceOps;
|
||||
typedef struct VFIOMigration VFIOMigration;
|
||||
|
||||
typedef struct IOMMUFDBackend IOMMUFDBackend;
|
||||
typedef struct VFIOIOASHwpt VFIOIOASHwpt;
|
||||
|
||||
typedef struct VFIODevice {
|
||||
QLIST_ENTRY(VFIODevice) next;
|
||||
QLIST_ENTRY(VFIODevice) container_next;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue