@@ -15,19 +15,6 @@
#include "qom/object.h"
#include "qapi/error.h"
-/**
- * struct HostIOMMUDeviceCaps - Define host IOMMU device capabilities.
- *
- * @type: host platform IOMMU type.
- *
- * @hw_caps: host platform IOMMU capabilities (e.g. on IOMMUFD this represents
- * the @out_capabilities value returned from IOMMU_GET_HW_INFO ioctl)
- */
-typedef struct HostIOMMUDeviceCaps {
- uint32_t type;
- uint64_t hw_caps;
-} HostIOMMUDeviceCaps;
-
#define TYPE_HOST_IOMMU_DEVICE "host-iommu-device"
OBJECT_DECLARE_TYPE(HostIOMMUDevice, HostIOMMUDeviceClass, HOST_IOMMU_DEVICE)
@@ -38,7 +25,6 @@ struct HostIOMMUDevice {
void *agent; /* pointer to agent device, ie. VFIO or VDPA device */
PCIBus *aliased_bus;
int aliased_devfn;
- HostIOMMUDeviceCaps caps;
};
/**
@@ -811,24 +811,9 @@ static bool hiod_iommufd_vfio_realize(HostIOMMUDevice *hiod, void *opaque,
Error **errp)
{
VFIODevice *vdev = opaque;
- HostIOMMUDeviceCaps *caps = &hiod->caps;
- enum iommu_hw_info_type type;
- union {
- struct iommu_hw_info_vtd vtd;
- } data;
- uint64_t hw_caps;
hiod->agent = opaque;
-
- if (!iommufd_backend_get_device_info(vdev->iommufd, vdev->devid,
- &type, &data, sizeof(data),
- &hw_caps, errp)) {
- return false;
- }
-
hiod->name = g_strdup(vdev->name);
- caps->type = type;
- caps->hw_caps = hw_caps;
return true;
}
Because hiod_iommufd_get_cap() was dropped, HostIOMMUDeviceCaps is not useful any more, drop it. This also hides HostIOMMUDeviceCaps from vIOMMU so the only way to check cap is through .get_cap() interface. This makes HostIOMMUDevice exposing data to vIOMMU as small as possible. Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com> --- include/system/host_iommu_device.h | 14 -------------- hw/vfio/iommufd.c | 15 --------------- 2 files changed, 29 deletions(-)