QEMU-Devel Archive mirror
 help / color / mirror / Atom feed
From: "Duan, Zhenzhong" <zhenzhong.duan@intel.com>
To: "Cédric Le Goater" <clg@redhat.com>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
Cc: "alex.williamson@redhat.com" <alex.williamson@redhat.com>,
	"eric.auger@redhat.com" <eric.auger@redhat.com>,
	"mst@redhat.com" <mst@redhat.com>,
	"peterx@redhat.com" <peterx@redhat.com>,
	"jasowang@redhat.com" <jasowang@redhat.com>,
	"jgg@nvidia.com" <jgg@nvidia.com>,
	"nicolinc@nvidia.com" <nicolinc@nvidia.com>,
	"joao.m.martins@oracle.com" <joao.m.martins@oracle.com>,
	"Tian, Kevin" <kevin.tian@intel.com>,
	"Liu, Yi L" <yi.l.liu@intel.com>,
	"Peng, Chao P" <chao.p.peng@intel.com>
Subject: RE: [PATCH v3 02/19] vfio/container: Introduce HostIOMMUDeviceLegacyVFIO device
Date: Tue, 30 Apr 2024 09:13:13 +0000	[thread overview]
Message-ID: <SJ0PR11MB6744D20165F8D9F8383CA115921A2@SJ0PR11MB6744.namprd11.prod.outlook.com> (raw)
In-Reply-To: <5160adfc-9630-49f0-a2a4-f6987c819bc5@redhat.com>



>-----Original Message-----
>From: Cédric Le Goater <clg@redhat.com>
>Subject: Re: [PATCH v3 02/19] vfio/container: Introduce
>HostIOMMUDeviceLegacyVFIO device
>
>On 4/29/24 08:50, Zhenzhong Duan wrote:
>> HostIOMMUDeviceLegacyVFIO represents a host IOMMU device under
>VFIO
>> legacy container backend.
>>
>> It includes a link to VFIODevice.
>
>I don't see any use of this attribute. May be introduce later when needed.

Indeed, will remove.

Then 'struct HostIOMMUDeviceLegacyVFIO' is same as
struct HostIOMMUDevice.

Not clear if it's preferred to remove 'struct HostIOMMUDeviceLegacyVFIO'
and use HostIOMMUDevice instead. Something like:

OBJECT_DECLARE_SIMPLE_TYPE(HostIOMMUDevice,
                                            HOST_IOMMU_DEVICE_LEGACY_VFIO)

Thanks
Zhenzhong

>
>Thanks,
>
>C.
>
>>
>> Suggested-by: Eric Auger <eric.auger@redhat.com>
>> Suggested-by: Cédric Le Goater <clg@redhat.com>
>> Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
>> ---
>>   include/hw/vfio/vfio-common.h | 12 ++++++++++++
>>   hw/vfio/container.c           |  6 +++++-
>>   2 files changed, 17 insertions(+), 1 deletion(-)
>>
>> diff --git a/include/hw/vfio/vfio-common.h b/include/hw/vfio/vfio-
>common.h
>> index b9da6c08ef..aa3abe0a18 100644
>> --- a/include/hw/vfio/vfio-common.h
>> +++ b/include/hw/vfio/vfio-common.h
>> @@ -31,6 +31,7 @@
>>   #endif
>>   #include "sysemu/sysemu.h"
>>   #include "hw/vfio/vfio-container-base.h"
>> +#include "sysemu/host_iommu_device.h"
>>
>>   #define VFIO_MSG_PREFIX "vfio %s: "
>>
>> @@ -147,6 +148,17 @@ typedef struct VFIOGroup {
>>       bool ram_block_discard_allowed;
>>   } VFIOGroup;
>>
>> +#define TYPE_HOST_IOMMU_DEVICE_LEGACY_VFIO
>TYPE_HOST_IOMMU_DEVICE "-legacy-vfio"
>> +OBJECT_DECLARE_SIMPLE_TYPE(HostIOMMUDeviceLegacyVFIO,
>> +                           HOST_IOMMU_DEVICE_LEGACY_VFIO)
>> +
>> +/* Abstract of host IOMMU device with VFIO legacy container backend */
>> +struct HostIOMMUDeviceLegacyVFIO {
>> +    HostIOMMUDevice parent_obj;
>> +
>> +    VFIODevice *vdev;
>> +};
>> +
>>   typedef struct VFIODMABuf {
>>       QemuDmaBuf buf;
>>       uint32_t pos_x, pos_y, pos_updates;
>> diff --git a/hw/vfio/container.c b/hw/vfio/container.c
>> index 77bdec276e..3b6826996a 100644
>> --- a/hw/vfio/container.c
>> +++ b/hw/vfio/container.c
>> @@ -1148,7 +1148,11 @@ static const TypeInfo types[] = {
>>           .name = TYPE_VFIO_IOMMU_LEGACY,
>>           .parent = TYPE_VFIO_IOMMU,
>>           .class_init = vfio_iommu_legacy_class_init,
>> -    },
>> +    }, {
>> +        .name = TYPE_HOST_IOMMU_DEVICE_LEGACY_VFIO,
>> +        .parent = TYPE_HOST_IOMMU_DEVICE,
>> +        .instance_size = sizeof(HostIOMMUDeviceLegacyVFIO),
>> +    }
>>   };
>>
>>   DEFINE_TYPES(types)


  reply	other threads:[~2024-04-30  9:14 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-29  6:50 [PATCH v3 00/19] Add a host IOMMU device abstraction to check with vIOMMU Zhenzhong Duan
2024-04-29  6:50 ` [PATCH v3 01/19] backends: Introduce HostIOMMUDevice abstract Zhenzhong Duan
2024-04-29  6:50 ` [PATCH v3 02/19] vfio/container: Introduce HostIOMMUDeviceLegacyVFIO device Zhenzhong Duan
2024-04-30  7:51   ` Cédric Le Goater
2024-04-30  9:13     ` Duan, Zhenzhong [this message]
2024-04-30 12:00       ` Cédric Le Goater
2024-04-29  6:50 ` [PATCH v3 03/19] backends/iommufd: Introduce abstract HostIOMMUDeviceIOMMUFD device Zhenzhong Duan
2024-04-29  6:50 ` [PATCH v3 04/19] vfio/iommufd: Introduce HostIOMMUDeviceIOMMUFDVFIO device Zhenzhong Duan
2024-04-30  7:52   ` Cédric Le Goater
2024-04-30  9:25     ` Duan, Zhenzhong
2024-04-29  6:50 ` [PATCH v3 05/19] backends/host_iommu_device: Introduce HostIOMMUDeviceCaps Zhenzhong Duan
2024-04-30  9:41   ` Cédric Le Goater
2024-04-30  9:55     ` Duan, Zhenzhong
2024-04-30 12:01       ` Cédric Le Goater
2024-05-07  6:11   ` Cédric Le Goater
2024-05-07  6:24     ` Duan, Zhenzhong
2024-04-29  6:50 ` [PATCH v3 06/19] range: Introduce range_get_last_bit() Zhenzhong Duan
2024-04-30  9:41   ` Cédric Le Goater
2024-04-30  9:58     ` Duan, Zhenzhong
2024-05-02 10:30       ` Cédric Le Goater
2024-05-06  6:45         ` Duan, Zhenzhong
2024-04-29  6:50 ` [PATCH v3 07/19] vfio/container: Implement HostIOMMUDeviceClass::realize() handler Zhenzhong Duan
2024-04-30  9:41   ` Cédric Le Goater
2024-04-30  9:59     ` Duan, Zhenzhong
2024-04-29  6:50 ` [PATCH v3 08/19] backends/iommufd: Introduce helper function iommufd_backend_get_device_info() Zhenzhong Duan
2024-04-30  9:41   ` Cédric Le Goater
2024-04-30 10:06     ` Duan, Zhenzhong
2024-04-29  6:50 ` [PATCH v3 09/19] vfio/iommufd: Implement HostIOMMUDeviceClass::realize() handler Zhenzhong Duan
2024-04-29  6:50 ` [PATCH v3 10/19] vfio/container: Implement HostIOMMUDeviceClass::check_cap() handler Zhenzhong Duan
2024-04-29  6:50 ` [PATCH v3 11/19] backends/iommufd: " Zhenzhong Duan
2024-04-30  9:41   ` Cédric Le Goater
2024-04-30 10:06     ` Duan, Zhenzhong
2024-04-30 12:12       ` Cédric Le Goater
2024-05-01 12:34         ` Duan, Zhenzhong
2024-05-02  8:17           ` Cédric Le Goater
2024-05-06  1:47             ` Duan, Zhenzhong
2024-04-29  6:50 ` [PATCH v3 12/19] vfio: Introduce VFIOIOMMUClass::hiod_typename attribute Zhenzhong Duan
2024-04-29  6:50 ` [PATCH v3 13/19] vfio: Create host IOMMU device instance Zhenzhong Duan
2024-04-30  9:41   ` Cédric Le Goater
2024-04-30 10:16     ` Duan, Zhenzhong
2024-04-30 12:15       ` Cédric Le Goater
2024-04-29  6:50 ` [PATCH v3 14/19] hw/pci: Introduce helper function pci_device_get_iommu_bus_devfn() Zhenzhong Duan
2024-04-29  6:50 ` [PATCH v3 15/19] hw/pci: Introduce pci_device_[set|unset]_iommu_device() Zhenzhong Duan
2024-05-07  7:04   ` Cédric Le Goater
2024-05-07  7:48     ` Duan, Zhenzhong
2024-05-07 12:26       ` Cédric Le Goater
2024-05-08  6:24         ` Duan, Zhenzhong
2024-04-29  6:50 ` [PATCH v3 16/19] vfio/pci: Pass HostIOMMUDevice to vIOMMU Zhenzhong Duan
2024-04-29  6:50 ` [PATCH v3 17/19] intel_iommu: Extract out vtd_cap_init() to initialize cap/ecap Zhenzhong Duan
2024-04-29  6:50 ` [PATCH v3 18/19] intel_iommu: Implement [set|unset]_iommu_device() callbacks Zhenzhong Duan
2024-04-29  6:50 ` [PATCH v3 19/19] intel_iommu: Check compatibility with host IOMMU capabilities Zhenzhong Duan
2024-05-03 14:04 ` [PATCH v3 00/19] Add a host IOMMU device abstraction to check with vIOMMU Cédric Le Goater
2024-05-03 14:10   ` Jason Gunthorpe
2024-05-03 14:29     ` Cédric Le Goater
2024-05-06  2:30   ` Duan, Zhenzhong
2024-05-06 12:05     ` Jason Gunthorpe
2024-05-07  2:24       ` Duan, Zhenzhong
2024-05-07 11:58         ` Jason Gunthorpe
2024-05-08  6:36           ` Duan, Zhenzhong

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=SJ0PR11MB6744D20165F8D9F8383CA115921A2@SJ0PR11MB6744.namprd11.prod.outlook.com \
    --to=zhenzhong.duan@intel.com \
    --cc=alex.williamson@redhat.com \
    --cc=chao.p.peng@intel.com \
    --cc=clg@redhat.com \
    --cc=eric.auger@redhat.com \
    --cc=jasowang@redhat.com \
    --cc=jgg@nvidia.com \
    --cc=joao.m.martins@oracle.com \
    --cc=kevin.tian@intel.com \
    --cc=mst@redhat.com \
    --cc=nicolinc@nvidia.com \
    --cc=peterx@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=yi.l.liu@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).