[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v1 07/22] vfio/common: Refactor vfio_viommu_preset() to be gr
From: |
Eric Auger |
Subject: |
Re: [PATCH v1 07/22] vfio/common: Refactor vfio_viommu_preset() to be group agnostic |
Date: |
Wed, 20 Sep 2023 15:00:33 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 |
On 8/30/23 12:37, Zhenzhong Duan wrote:
> So that it doesn't need to be moved into container.c as done
> in following patch.
This is a bit weird to refer to container.c which is not yet created. I
would suggested just reuse the commit title as a commit msg + this will
become easier to handle multiple IOMMU BEs
Eric
>
> Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
> ---
> hw/vfio/common.c | 17 ++++++++++++++++-
> 1 file changed, 16 insertions(+), 1 deletion(-)
>
> diff --git a/hw/vfio/common.c b/hw/vfio/common.c
> index 51c6e7598e..fda5fc87b9 100644
> --- a/hw/vfio/common.c
> +++ b/hw/vfio/common.c
> @@ -219,7 +219,22 @@ void vfio_unblock_multiple_devices_migration(void)
>
> bool vfio_viommu_preset(VFIODevice *vbasedev)
> {
> - return vbasedev->group->container->space->as != &address_space_memory;
> + VFIOAddressSpace *space;
> + VFIOContainer *container;
> + VFIODevice *tmp_dev;
> +
> + QLIST_FOREACH(space, &vfio_address_spaces, list) {
> + QLIST_FOREACH(container, &space->containers, next) {
> + tmp_dev = NULL;
> + while ((tmp_dev = vfio_container_dev_iter_next(container,
> + tmp_dev))) {
> + if (vbasedev == tmp_dev) {
> + return space->as != &address_space_memory;
> + }
> + }
> + }
> + }
> + g_assert_not_reached();
> }
>
> static void vfio_set_migration_error(int err)
- Re: [PATCH v1 07/22] vfio/common: Refactor vfio_viommu_preset() to be group agnostic,
Eric Auger <=