qemu-devel
[Top][All Lists]
Advanced

[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: Alex Williamson
Subject: Re: [PATCH v1 07/22] vfio/common: Refactor vfio_viommu_preset() to be group agnostic
Date: Wed, 20 Sep 2023 16:51:27 -0600

On Wed, 30 Aug 2023 18:37:39 +0800
Zhenzhong Duan <zhenzhong.duan@intel.com> wrote:

> So that it doesn't need to be moved into container.c as done
> in following patch.
> 
> 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();

Should the VFIODevice just have a pointer to the VFIOAddressSpace?
Thanks,

Alex


>  }
>  
>  static void vfio_set_migration_error(int err)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]