[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5261b78d-f2db-0f80-34ac-1a834353b13a@redhat.com>
Date: Fri, 7 Aug 2020 11:00:44 +0800
From: Jason Wang <jasowang@...hat.com>
To: "Michael S. Tsirkin" <mst@...hat.com>
Cc: linux-kernel@...r.kernel.org,
virtualization@...ts.linux-foundation.org
Subject: Re: [PATCH v2 19/24] vdpa: make sure set_features in invoked for
legacy
On 2020/8/6 下午6:00, Michael S. Tsirkin wrote:
> On Thu, Aug 06, 2020 at 03:27:38PM +0800, Jason Wang wrote:
>> On 2020/8/6 下午1:53, Michael S. Tsirkin wrote:
>>> On Thu, Aug 06, 2020 at 11:23:05AM +0800, Jason Wang wrote:
>>>> On 2020/8/5 下午7:40, Michael S. Tsirkin wrote:
>>>>> On Wed, Aug 05, 2020 at 02:14:07PM +0800, Jason Wang wrote:
>>>>>> On 2020/8/4 上午5:00, Michael S. Tsirkin wrote:
>>>>>>> Some legacy guests just assume features are 0 after reset.
>>>>>>> We detect that config space is accessed before features are
>>>>>>> set and set features to 0 automatically.
>>>>>>> Note: some legacy guests might not even access config space, if this is
>>>>>>> reported in the field we might need to catch a kick to handle these.
>>>>>> I wonder whether it's easier to just support modern device?
>>>>>>
>>>>>> Thanks
>>>>> Well hardware vendors are I think interested in supporting legacy
>>>>> guests. Limiting vdpa to modern only would make it uncompetitive.
>>>> My understanding is that, IOMMU_PLATFORM is mandatory for hardware vDPA to
>>>> work.
>>> Hmm I don't really see why. Assume host maps guest memory properly,
>>> VM does not have an IOMMU, legacy guest can just work.
>>
>> Yes, guest may not set IOMMU_PLATFORM.
>>
>>
>>> Care explaining what's wrong with this picture?
>>
>> The problem is virtio_vdpa, without IOMMU_PLATFORM it uses PA which can not
>> work if IOMMU is enabled.
>>
>> Thanks
> So that's a virtio_vdpa limitation.
Probably not, I think this goes back to the long debate of whether to
use DMA API unconditionally. If we did that, we can support legacy
virtio driver.
The vDPA device needs to provide a DMA device and the virtio core and
perform DMA API with that device which should work for all of the cases.
But a big question is, do upstream care about out of tree virtio drivers?
Thanks
> In the same way, if a device
> does not have an on-device iommu *and* is not behind an iommu,
> then vdpa can't bind to it.
>
> But this virtio_vdpa specific hack does not belong in a generic vdpa code.
>
>>>
>>>> So it can only work for modern device ...
>>>>
>>>> Thanks
>>>>
>>>>
>>>>>
Powered by blists - more mailing lists