[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [RFC 1/1] xen/arm: set iommu property for IOMMU-protected devices
Hi Oleksandr, >> From: Roman Skakun <roman_skakun@xxxxxxxx> >> >> Xen is not exposing any IOMMU properties to Dom0. >> So Dom0 assumes that all it's devices are not protected by IOMMU. >> >> To make Dom0 aware of IOMMU-protected devices, we need to mark >> them somehow. With this approach Dom0 Linux kernel will be able >> to selectively disable swiotlb-xen fops for them which will remove >> unnecessary buffer bounces. >> >> This patch adds mechanism to describe IOMMU-protected devices by >> adding `xen,behind-iommu` property to relevant device nodes in >> Dom0 device tree. > > I think that new property should be documented probably at > > docs/misc/arm/device-tree/... Yes, make sense. I will add a description for a new property in the next patch series. Thanks! Cheers, Roman ср, 6 окт. 2021 г. в 15:45, Oleksandr <olekstysh@xxxxxxxxx>: > > > On 04.10.21 12:54, Roman Skakun wrote: > > Hi Roman > > > From: Roman Skakun <roman_skakun@xxxxxxxx> > > > > Xen is not exposing any IOMMU properties to Dom0. > > So Dom0 assumes that all it's devices are not protected by IOMMU. > > > > To make Dom0 aware of IOMMU-protected devices, we need to mark > > them somehow. With this approach Dom0 Linux kernel will be able > > to selectively disable swiotlb-xen fops for them which will remove > > unnecessary buffer bounces. > > > > This patch adds mechanism to describe IOMMU-protected devices by > > adding `xen,behind-iommu` property to relevant device nodes in > > Dom0 device tree. > > I think that new property should be documented probably at > > docs/misc/arm/device-tree/... > > > > > Signed-off-by: Roman Skakun <roman_skakun@xxxxxxxx> > > --- > > xen/arch/arm/domain_build.c | 7 +++++++ > > 1 file changed, 7 insertions(+) > > > > diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c > > index 69fff7fc29..99e2c42b6c 100644 > > --- a/xen/arch/arm/domain_build.c > > +++ b/xen/arch/arm/domain_build.c > > @@ -580,6 +580,13 @@ static int __init write_properties(struct domain *d, > > struct kernel_info *kinfo, > > return res; > > } > > > > + if ( iommu_node && is_iommu_enabled(d) && dt_device_is_protected(node) > > ) > > + { > > + res = fdt_property(kinfo->fdt, "xen,behind-iommu", NULL, 0); > > + if ( res ) > > + return res; > > + } > > + > > /* > > * Override the property "status" to disable the device when it's > > * marked for passthrough. > > -- > Regards, > > Oleksandr Tyshchenko > -- Best Regards, Roman.
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |