Re: [Qemu-devel] [PATCH v11 10/17] hw/arm/smmuv3: Abort on vfio or vhost case

2018-04-17 Thread Peter Maydell
On 12 April 2018 at 08:38, Eric Auger  wrote:
> At the moment, the SMMUv3 does not support notification on
> TLB invalidation. So let's log an error as soon as such notifier
> gets enabled.
>
> Signed-off-by: Eric Auger 
> ---
>  hw/arm/smmuv3.c | 11 +++
>  1 file changed, 11 insertions(+)
>
> diff --git a/hw/arm/smmuv3.c b/hw/arm/smmuv3.c
> index 4be676b..6e0d7ad 100644
> --- a/hw/arm/smmuv3.c
> +++ b/hw/arm/smmuv3.c
> @@ -1147,12 +1147,23 @@ static void smmuv3_class_init(ObjectClass *klass, 
> void *data)
>  dc->realize = smmu_realize;
>  }
>
> +static void smmuv3_notify_flag_changed(IOMMUMemoryRegion *iommu,
> +   IOMMUNotifierFlag old,
> +   IOMMUNotifierFlag new)
> +{
> +if (old == IOMMU_NOTIFIER_NONE) {
> +warn_report("SMMUV3 does not support vhost/vfio integration yet: "
> +"devices of those types will not function properly");
> +}
> +}
> +
>  static void smmuv3_iommu_memory_region_class_init(ObjectClass *klass,
>void *data)
>  {
>  IOMMUMemoryRegionClass *imrc = IOMMU_MEMORY_REGION_CLASS(klass);
>
>  imrc->translate = smmuv3_translate;
> +imrc->notify_flag_changed = smmuv3_notify_flag_changed;
>  }
>
>  static const TypeInfo smmuv3_type_info = {
> --
> 2.5.5

Reviewed-by: Peter Maydell 

thanks
-- PMM



[Qemu-devel] [PATCH v11 10/17] hw/arm/smmuv3: Abort on vfio or vhost case

2018-04-12 Thread Eric Auger
At the moment, the SMMUv3 does not support notification on
TLB invalidation. So let's log an error as soon as such notifier
gets enabled.

Signed-off-by: Eric Auger 
---
 hw/arm/smmuv3.c | 11 +++
 1 file changed, 11 insertions(+)

diff --git a/hw/arm/smmuv3.c b/hw/arm/smmuv3.c
index 4be676b..6e0d7ad 100644
--- a/hw/arm/smmuv3.c
+++ b/hw/arm/smmuv3.c
@@ -1147,12 +1147,23 @@ static void smmuv3_class_init(ObjectClass *klass, void 
*data)
 dc->realize = smmu_realize;
 }
 
+static void smmuv3_notify_flag_changed(IOMMUMemoryRegion *iommu,
+   IOMMUNotifierFlag old,
+   IOMMUNotifierFlag new)
+{
+if (old == IOMMU_NOTIFIER_NONE) {
+warn_report("SMMUV3 does not support vhost/vfio integration yet: "
+"devices of those types will not function properly");
+}
+}
+
 static void smmuv3_iommu_memory_region_class_init(ObjectClass *klass,
   void *data)
 {
 IOMMUMemoryRegionClass *imrc = IOMMU_MEMORY_REGION_CLASS(klass);
 
 imrc->translate = smmuv3_translate;
+imrc->notify_flag_changed = smmuv3_notify_flag_changed;
 }
 
 static const TypeInfo smmuv3_type_info = {
-- 
2.5.5