Re: [PATCH v3 1/1] s390: virtio: let arch accept devices without IOMMU feature

Cornelia Huck
2020-06-29T18:46:46Z

On Mon, 29 Jun 2020 15:14:04 +0200
Pierre Morel <pmorel@linux.ibm.com> wrote:

> On 2020-06-19 11:20, Cornelia Huck wrote:
> > On Thu, 18 Jun 2020 00:29:56 +0200
> > Halil Pasic <pasic@linux.ibm.com> wrote:
> >
> >> On Wed, 17 Jun 2020 12:43:57 +0200
> >> Pierre Morel <pmorel@linux.ibm.com> wrote:

> >>> @@ -179,6 +194,13 @@ int virtio_finalize_features(struct virtio_device *dev)
> >>> if (!virtio_has_feature(dev, VIRTIO_F_VERSION_1))
> >>> return 0;
> >>>
> >>> + if (arch_needs_virtio_iommu_platform(dev) &&
> >>> + !virtio_has_feature(dev, VIRTIO_F_IOMMU_PLATFORM)) {
> >>> + dev_warn(&dev->dev,
> >>> + "virtio: device must provide VIRTIO_F_IOMMU_PLATFORM\n");

[Side note: wasn't there a patch renaming this bit on the list? I think
this name is only kept for userspace compat.]

> >>
> >> I'm not sure, divulging the current Linux name of this feature bit is a
> >> good idea, but if everybody else is fine with this, I don't care that
> >
> > Not sure if that feature name will ever change, as it is exported in
> > headers. At most, we might want to add the new ACCESS_PLATFORM define
> > and keep the old one, but that would still mean some churn.
> >
> >> much. An alternative would be:
> >> "virtio: device falsely claims to have full access to the memory,
> >> aborting the device"
> >
> > "virtio: device does not work with limited memory access" ?
> >
> > But no issue with keeping the current message.
> >
>
> If it is OK, I would like to specify that the arch is responsible to
> accept or not the device.
> The reason why the device is not accepted without IOMMU_PLATFORM is arch
> specific.

Hm, I'd think the reason is always the same (the device cannot access
the memory directly), just the way to figure out whether that is the
case or not is arch-specific, as with so many other things. No real
need to go into detail here, I think.