diff mbox series

[v10,08/10] vfio: Set IOMMU page size as per host supported page size

Message ID 20201008171558.410886-9-jean-philippe@linaro.org
State Superseded
Headers show
Series virtio-iommu: VFIO integration | expand

Commit Message

Jean-Philippe Brucker Oct. 8, 2020, 5:15 p.m. UTC
From: Bharat Bhushan <bbhushan2@marvell.com>

Set IOMMU supported page size mask same as host Linux supported page
size mask.

Signed-off-by: Bharat Bhushan <bbhushan2@marvell.com>
Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
---
 hw/vfio/common.c | 8 ++++++++
 1 file changed, 8 insertions(+)

Comments

Alex Williamson Oct. 8, 2020, 9:22 p.m. UTC | #1
On Thu,  8 Oct 2020 19:15:56 +0200
Jean-Philippe Brucker <jean-philippe@linaro.org> wrote:

> From: Bharat Bhushan <bbhushan2@marvell.com>

> 

> Set IOMMU supported page size mask same as host Linux supported page

> size mask.

> 

> Signed-off-by: Bharat Bhushan <bbhushan2@marvell.com>

> Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>

> ---

>  hw/vfio/common.c | 8 ++++++++

>  1 file changed, 8 insertions(+)

> 

> diff --git a/hw/vfio/common.c b/hw/vfio/common.c

> index 13471ae2943..e66054b02a7 100644

> --- a/hw/vfio/common.c

> +++ b/hw/vfio/common.c

> @@ -636,6 +636,14 @@ static void vfio_listener_region_add(MemoryListener *listener,

>                              int128_get64(llend),

>                              iommu_idx);

>  

> +        ret = memory_region_iommu_set_page_size_mask(giommu->iommu,

> +                                                     container->pgsizes,

> +                                                     &err);

> +        if (ret) {

> +            g_free(giommu);

> +            goto fail;

> +        }

> +

>          ret = memory_region_register_iommu_notifier(section->mr, &giommu->n,

>                                                      &err);

>          if (ret) {


Acked-by: Alex Williamson <alex.williamson@redhat.com>
Eric Auger Oct. 16, 2020, 9:25 a.m. UTC | #2
Hi Jean,
On 10/8/20 7:15 PM, Jean-Philippe Brucker wrote:
> From: Bharat Bhushan <bbhushan2@marvell.com>

> 

> Set IOMMU supported page size mask same as host Linux supported page

> size mask.

> 

> Signed-off-by: Bharat Bhushan <bbhushan2@marvell.com>

> Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>

Reviewed-by: Eric Auger <eric.auger@redhat.com>


Thanks

Eric
> ---

>  hw/vfio/common.c | 8 ++++++++

>  1 file changed, 8 insertions(+)

> 

> diff --git a/hw/vfio/common.c b/hw/vfio/common.c

> index 13471ae2943..e66054b02a7 100644

> --- a/hw/vfio/common.c

> +++ b/hw/vfio/common.c

> @@ -636,6 +636,14 @@ static void vfio_listener_region_add(MemoryListener *listener,

>                              int128_get64(llend),

>                              iommu_idx);

>  

> +        ret = memory_region_iommu_set_page_size_mask(giommu->iommu,

> +                                                     container->pgsizes,

> +                                                     &err);

> +        if (ret) {

> +            g_free(giommu);

> +            goto fail;

> +        }

> +

>          ret = memory_region_register_iommu_notifier(section->mr, &giommu->n,

>                                                      &err);

>          if (ret) {

>
diff mbox series

Patch

diff --git a/hw/vfio/common.c b/hw/vfio/common.c
index 13471ae2943..e66054b02a7 100644
--- a/hw/vfio/common.c
+++ b/hw/vfio/common.c
@@ -636,6 +636,14 @@  static void vfio_listener_region_add(MemoryListener *listener,
                             int128_get64(llend),
                             iommu_idx);
 
+        ret = memory_region_iommu_set_page_size_mask(giommu->iommu,
+                                                     container->pgsizes,
+                                                     &err);
+        if (ret) {
+            g_free(giommu);
+            goto fail;
+        }
+
         ret = memory_region_register_iommu_notifier(section->mr, &giommu->n,
                                                     &err);
         if (ret) {