On 23/11/2018 21:56, Michael S. Tsirkin wrote:
>> +config VIRTIO_IOMMU
>> +    bool "Virtio IOMMU driver"
>> +    depends on VIRTIO=y
>> +    select IOMMU_API
>> +    select INTERVAL_TREE
>> +    select ARM_DMA_USE_IOMMU if ARM
>> +    help
>> +      Para-virtualised IOMMU driver with virtio.
>> +
>> +      Say Y here if you intend to run this kernel as a guest.
>> +
> 
> Given it is arm specific right now, shouldn't this depend on ARM?
> E.g. there's a hack for x86 right now.

Sure, I'll make it depend on ARM64 for now

[..]
>> +static int viommu_probe(struct virtio_device *vdev)
>> +{
>> +    struct device *parent_dev = vdev->dev.parent;
>> +    struct viommu_dev *viommu = NULL;
>> +    struct device *dev = &vdev->dev;
>> +    u64 input_start = 0;
>> +    u64 input_end = -1UL;
>> +    int ret;
>> +
>> +    if (!virtio_has_feature(vdev, VIRTIO_F_VERSION_1) ||
>> +        !virtio_has_feature(vdev, VIRTIO_IOMMU_F_MAP_UNMAP))
> 
> Why bother with a feature bit for this then btw?

We'll need a new feature bit for sharing page tables with the hardware,
because they require different requests (attach_table/invalidate instead
of map/unmap.) A future device supporting page table sharing won't
necessarily need to support map/unmap.

Thanks,
Jean
_______________________________________________
Virtualization mailing list
[email protected]
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

Reply via email to