From: "Cédric Le Goater" <clg@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Eric Auger" <eric.auger@redhat.com>,
"Zhenzhong Duan" <zhenzhong.duan@intel.com>,
"Alex Williamson" <alex.williamson@redhat.com>,
"Cédric Le Goater" <clg@redhat.com>
Subject: [PATCH v1 06/16] vfio/container: Simplify vfio_container_init()
Date: Wed, 12 Jun 2024 15:01:12 +0200 [thread overview]
Message-ID: <20240612130122.813935-7-clg@redhat.com> (raw)
In-Reply-To: <20240612130122.813935-1-clg@redhat.com>
Assign the base container VFIOAddressSpace 'space' pointer in
vfio_address_space_insert().
To be noted that vfio_connect_container() will assign the 'space'
pointer later in the execution flow. This should not have any
consequence.
Signed-off-by: Cédric Le Goater <clg@redhat.com>
---
include/hw/vfio/vfio-container-base.h | 1 -
hw/vfio/common.c | 1 +
hw/vfio/container-base.c | 3 +--
hw/vfio/container.c | 6 +++---
hw/vfio/iommufd.c | 2 +-
5 files changed, 6 insertions(+), 7 deletions(-)
diff --git a/include/hw/vfio/vfio-container-base.h b/include/hw/vfio/vfio-container-base.h
index 442c0dfc4c1774753c239c2c8360dcd1540d44fa..d505f63607ec40e6aa44aeb3e20848ac780562a1 100644
--- a/include/hw/vfio/vfio-container-base.h
+++ b/include/hw/vfio/vfio-container-base.h
@@ -87,7 +87,6 @@ int vfio_container_query_dirty_bitmap(const VFIOContainerBase *bcontainer,
VFIOBitmap *vbmap, hwaddr iova, hwaddr size, Error **errp);
void vfio_container_init(VFIOContainerBase *bcontainer,
- VFIOAddressSpace *space,
const VFIOIOMMUClass *ops);
void vfio_container_destroy(VFIOContainerBase *bcontainer);
diff --git a/hw/vfio/common.c b/hw/vfio/common.c
index 8cdf26c6f5a490cfa02bdf1087a91948709aaa33..1686a0bed23bd95467bfb00a0c39a4d966e49cae 100644
--- a/hw/vfio/common.c
+++ b/hw/vfio/common.c
@@ -1512,6 +1512,7 @@ void vfio_address_space_insert(VFIOAddressSpace *space,
VFIOContainerBase *bcontainer)
{
QLIST_INSERT_HEAD(&space->containers, bcontainer, next);
+ bcontainer->space = space;
}
struct vfio_device_info *vfio_get_device_info(int fd)
diff --git a/hw/vfio/container-base.c b/hw/vfio/container-base.c
index 760d9d0622b2e847ecb3368c88df772efb06043f..280f0dd2db1fc3939fe9925ce00a2c50d0e14196 100644
--- a/hw/vfio/container-base.c
+++ b/hw/vfio/container-base.c
@@ -71,11 +71,10 @@ int vfio_container_query_dirty_bitmap(const VFIOContainerBase *bcontainer,
errp);
}
-void vfio_container_init(VFIOContainerBase *bcontainer, VFIOAddressSpace *space,
+void vfio_container_init(VFIOContainerBase *bcontainer,
const VFIOIOMMUClass *ops)
{
bcontainer->ops = ops;
- bcontainer->space = space;
bcontainer->error = NULL;
bcontainer->dirty_pages_supported = false;
bcontainer->dma_max_mappings = 0;
diff --git a/hw/vfio/container.c b/hw/vfio/container.c
index 15ca3643bc1b4e1a50a5a3de4359d61ec1bda9de..70fd6334e9c959f4301b46ed1ae9b77fcb4d7d1c 100644
--- a/hw/vfio/container.c
+++ b/hw/vfio/container.c
@@ -394,7 +394,7 @@ static const VFIOIOMMUClass *vfio_get_iommu_class(int iommu_type, Error **errp)
}
static bool vfio_set_iommu(VFIOContainer *container, int group_fd,
- VFIOAddressSpace *space, Error **errp)
+ Error **errp)
{
int iommu_type;
const VFIOIOMMUClass *vioc;
@@ -432,7 +432,7 @@ static bool vfio_set_iommu(VFIOContainer *container, int group_fd,
return false;
}
- vfio_container_init(&container->bcontainer, space, vioc);
+ vfio_container_init(&container->bcontainer, vioc);
return true;
}
@@ -614,7 +614,7 @@ static bool vfio_connect_container(VFIOGroup *group, AddressSpace *as,
container->fd = fd;
bcontainer = &container->bcontainer;
- if (!vfio_set_iommu(container, group->fd, space, errp)) {
+ if (!vfio_set_iommu(container, group->fd, errp)) {
goto free_container_exit;
}
diff --git a/hw/vfio/iommufd.c b/hw/vfio/iommufd.c
index 19bb6419bdffd1c69cc14c7cd5684eb6d0231338..d97a4f7393791660b90e340436c6e084c0781444 100644
--- a/hw/vfio/iommufd.c
+++ b/hw/vfio/iommufd.c
@@ -357,7 +357,7 @@ static bool iommufd_cdev_attach(const char *name, VFIODevice *vbasedev,
container->ioas_id = ioas_id;
bcontainer = &container->bcontainer;
- vfio_container_init(bcontainer, space, iommufd_vioc);
+ vfio_container_init(bcontainer, iommufd_vioc);
vfio_address_space_insert(space, bcontainer);
if (!iommufd_cdev_attach_container(vbasedev, container, errp)) {
--
2.45.2
next prev parent reply other threads:[~2024-06-12 13:10 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-12 13:01 [PATCH v1 00/16] vfio: QOMify VFIOContainer Cédric Le Goater
2024-06-12 13:01 ` [PATCH v1 01/16] vfio: Make vfio_devices_dma_logging_start() return bool Cédric Le Goater
2024-06-12 13:01 ` [PATCH v1 02/16] vfio: Remove unused declarations from vfio-common.h Cédric Le Goater
2024-06-12 13:01 ` [PATCH v1 03/16] vfio/common: Move dirty tracking ranges update to helper Cédric Le Goater
2024-06-12 13:01 ` [PATCH v1 04/16] vfio/common: Extract vIOMMU code from vfio_sync_dirty_bitmap() Cédric Le Goater
2024-06-12 13:01 ` [PATCH v1 05/16] vfio/container: Introduce vfio_address_space_insert() Cédric Le Goater
2024-06-12 13:01 ` Cédric Le Goater [this message]
2024-06-12 13:01 ` [PATCH v1 07/16] vfio/container: Modify vfio_get_iommu_type() to use a container fd Cédric Le Goater
2024-06-12 13:01 ` [PATCH v1 08/16] vfio/container: Introduce vfio_get_iommu_class_name() Cédric Le Goater
2024-06-12 13:01 ` [PATCH v1 09/16] vfio/container: Introduce vfio_create_container() Cédric Le Goater
2024-06-12 13:01 ` [PATCH v1 10/16] vfio/container: Discover IOMMU type before creating the container Cédric Le Goater
2024-06-12 13:01 ` [PATCH v1 11/16] vfio/container: Change VFIOContainerBase to use QOM Cédric Le Goater
2024-06-13 9:17 ` Duan, Zhenzhong
2024-06-13 12:21 ` Cédric Le Goater
2024-06-12 13:01 ` [PATCH v1 12/16] vfio/container: Switch to QOM Cédric Le Goater
2024-06-12 13:01 ` [PATCH v1 13/16] vfio/container: Introduce an instance_init() handler Cédric Le Goater
2024-06-12 13:01 ` [PATCH v1 14/16] vfio/container: Remove VFIOContainerBase::ops Cédric Le Goater
2024-06-12 13:01 ` [PATCH v1 15/16] vfio/container: Remove vfio_container_init() Cédric Le Goater
2024-06-13 9:20 ` Duan, Zhenzhong
2024-06-13 13:38 ` Cédric Le Goater
2024-06-12 13:01 ` [PATCH v1 16/16] vfio/container: Introduce vfio_iommu_legacy_instance_init() Cédric Le Goater
2024-06-17 1:30 ` [PATCH v1 00/16] vfio: QOMify VFIOContainer Duan, Zhenzhong
2024-06-17 5:04 ` Cédric Le Goater
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=20240612130122.813935-7-clg@redhat.com \
--to=clg@redhat.com \
--cc=alex.williamson@redhat.com \
--cc=eric.auger@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=zhenzhong.duan@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 NNTP newsgroup(s).