time/sched_clock: Mark sched_clock_read_begin/retry() as notrace
[linux-2.6-microblaze.git] / drivers / virtio / virtio.c
index 5d46f0d..42e09cc 100644 (file)
@@ -176,6 +176,21 @@ int virtio_finalize_features(struct virtio_device *dev)
        if (ret)
                return ret;
 
+       ret = arch_has_restricted_virtio_memory_access();
+       if (ret) {
+               if (!virtio_has_feature(dev, VIRTIO_F_VERSION_1)) {
+                       dev_warn(&dev->dev,
+                                "device must provide VIRTIO_F_VERSION_1\n");
+                       return -ENODEV;
+               }
+
+               if (!virtio_has_feature(dev, VIRTIO_F_ACCESS_PLATFORM)) {
+                       dev_warn(&dev->dev,
+                                "device must provide VIRTIO_F_ACCESS_PLATFORM\n");
+                       return -ENODEV;
+               }
+       }
+
        if (!virtio_has_feature(dev, VIRTIO_F_VERSION_1))
                return 0;