Re: [PATCH v11 04/13] vfio/pci: Add VFIO_REGION_TYPE_NESTED region type
Hi Shenming, On 2/23/21 1:45 PM, Shenming Lu wrote: >> +static int vfio_pci_dma_fault_init(struct vfio_pci_device *vdev) >> +{ >> +struct vfio_region_dma_fault *header; >> +struct iommu_domain *domain; >> +size_t size; >> +bool nested; >> +int ret; >> + >> +domain = iommu_get_domain_for_dev(>pdev->dev); >> +ret = iommu_domain_get_attr(domain, DOMAIN_ATTR_NESTING, ); >> +if (ret || !nested) >> +return ret; > > Hi Eric, > > It seems that the type of nested should be int, the use of bool might trigger > a panic in arm_smmu_domain_get_attr(). Thank you. That's fixed now. Best Regards Eric > > Thanks, > Shenming > ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
Re: [PATCH v11 04/13] vfio/pci: Add VFIO_REGION_TYPE_NESTED region type
> +static int vfio_pci_dma_fault_init(struct vfio_pci_device *vdev) > +{ > + struct vfio_region_dma_fault *header; > + struct iommu_domain *domain; > + size_t size; > + bool nested; > + int ret; > + > + domain = iommu_get_domain_for_dev(>pdev->dev); > + ret = iommu_domain_get_attr(domain, DOMAIN_ATTR_NESTING, ); > + if (ret || !nested) > + return ret; Hi Eric, It seems that the type of nested should be int, the use of bool might trigger a panic in arm_smmu_domain_get_attr(). Thanks, Shenming ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
Re: [PATCH v11 04/13] vfio/pci: Add VFIO_REGION_TYPE_NESTED region type
Hi Eric, On 2020/11/16 19:00, Eric Auger wrote: Add a new specific DMA_FAULT region aiming to exposed nested mode translation faults. This region only is exposed if the device is attached to a nested domain. The region has a ring buffer that contains the actual fault records plus a header allowing to handle it (tail/head indices, max capacity, entry size). At the moment the region is dimensionned for 512 fault records. Signed-off-by: Eric Auger --- [...] diff --git a/include/uapi/linux/vfio.h b/include/uapi/linux/vfio.h index b352e76cfb71..629dfb38d9e7 100644 --- a/include/uapi/linux/vfio.h +++ b/include/uapi/linux/vfio.h @@ -343,6 +343,9 @@ struct vfio_region_info_cap_type { /* sub-types for VFIO_REGION_TYPE_GFX */ #define VFIO_REGION_SUBTYPE_GFX_EDID(1) +#define VFIO_REGION_TYPE_NESTED (2) +#define VFIO_REGION_SUBTYPE_NESTED_DMA_FAULT (1) + The macro *define VFIO_REGION_TYPE_NESTED (2)* is in conflict with *#define VFIO_REGION_TYPE_CCW (2)*. Thanks, Kunkun Jiang. ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm