|
[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 |