[dpdk-dev] [PATCH V2 2/2] virtio: support IOMMU platform

Jason Wang jasowang at redhat.com
Thu Oct 20 04:29:46 CEST 2016



On 2016年10月07日 12:24, Michael S. Tsirkin wrote:
> On Wed, Sep 28, 2016 at 04:25:12PM +0800, Jason Wang wrote:
>> Negotiate VIRTIO_F_IOMMU_PLATFORM to have IOMMU support.
>>
>> Signed-off-by: Jason Wang <jasowang at redhat.com>
>> ---
>> Changes from v1:
>> - remove unnecessary NEED_MAPPING flag
> One thing we probably should do is enable this flag
> with VFIO but not with UIO or VFIO-noiommu.

Sounds good, will try do it in next version.

>> ---
>>   drivers/net/virtio/virtio_ethdev.h | 3 ++-
>>   drivers/net/virtio/virtio_pci.h    | 3 ++-
>>   2 files changed, 4 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/net/virtio/virtio_ethdev.h b/drivers/net/virtio/virtio_ethdev.h
>> index 2ecec6e..04a06e2 100644
>> --- a/drivers/net/virtio/virtio_ethdev.h
>> +++ b/drivers/net/virtio/virtio_ethdev.h
>> @@ -63,7 +63,8 @@
>>   	 1u << VIRTIO_NET_F_CTRL_RX	  |	\
>>   	 1u << VIRTIO_NET_F_CTRL_VLAN	  |	\
>>   	 1u << VIRTIO_NET_F_MRG_RXBUF	  |	\
>> -	 1ULL << VIRTIO_F_VERSION_1)
>> +	 1ULL << VIRTIO_F_VERSION_1       |	\
>> +	 1ULL << VIRTIO_F_IOMMU_PLATFORM )
> Space before ) looks kind of ugly.

Will fix this.

>
>>   
>>   /*
>>    * CQ function prototype
>> diff --git a/drivers/net/virtio/virtio_pci.h b/drivers/net/virtio/virtio_pci.h
>> index 3430a39..0aa0015 100644
>> --- a/drivers/net/virtio/virtio_pci.h
>> +++ b/drivers/net/virtio/virtio_pci.h
>> @@ -138,6 +138,7 @@ struct virtnet_ctl;
>>   #define VIRTIO_RING_F_INDIRECT_DESC	28
>>   
>>   #define VIRTIO_F_VERSION_1		32
>> +#define VIRTIO_F_IOMMU_PLATFORM	33
>>   
>>   /*
>>    * Some VirtIO feature bits (currently bits 28 through 31) are
>> @@ -145,7 +146,7 @@ struct virtnet_ctl;
>>    * rest are per-device feature bits.
>>    */
>>   #define VIRTIO_TRANSPORT_F_START 28
>> -#define VIRTIO_TRANSPORT_F_END   32
>> +#define VIRTIO_TRANSPORT_F_END   34
>>   
> This seems unused. Drop it?

Ok.

>
>>   /* The Guest publishes the used index for which it expects an interrupt
>>    * at the end of the avail ring. Host should ignore the avail->flags field. */
>> -- 
>> 2.7.4



More information about the dev mailing list