On Mon, 29 Jun 2020 15:14:04 +0200
Pierre Morel <pmorel@xxxxxxxxxxxxx> wrote:
On 2020-06-19 11:20, Cornelia Huck wrote:
On Thu, 18 Jun 2020 00:29:56 +0200
Halil Pasic <pasic@xxxxxxxxxxxxx> wrote:
On Wed, 17 Jun 2020 12:43:57 +0200
Pierre Morel <pmorel@xxxxxxxxxxxxx> 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.