Re: [PATCH v2 2/2] vdpa: Remove ioctl VHOST_VDPA_SET_CONFIG per spec compliance
From: Dragos Tatulea
Date: Wed Sep 04 2024 - 13:48:59 EST
On 04.09.24 08:34, Jason Wang wrote:
> On Wed, Sep 4, 2024 at 1:59 PM Dragos Tatulea <dtatulea@xxxxxxxxxx> wrote:
>>
>>
>>
>> On 04.09.24 05:38, Jason Wang wrote:
>>> On Wed, Sep 4, 2024 at 1:15 AM Carlos Bilbao
>>> <carlos.bilbao.osdev@xxxxxxxxx> wrote:
>>>>
>>>> From: Carlos Bilbao <cbilbao@xxxxxxxxxxxxxxxx>
>>>>
>>>> Remove invalid ioctl VHOST_VDPA_SET_CONFIG and all its implementations
>>>> with vdpa_config_ops->set_config(). This is needed per virtio spec
>>>> requirements; virtio-spec v3.1 Sec 5.1.4 states that "All of the device
>>>> configuration fields are read-only for the driver."
>>>>
>>>> Signed-off-by: Carlos Bilbao <cbilbao@xxxxxxxxxxxxxxxx>
>>>
>>> Note that only the config space of the modern device is read only. So
>>> it should be fine to remove vp_vdpa which only works for modern
>>> devices.
>> Just out of curiosity: how will this work for devices that are not
>> v1.3 compliant but are v1.2 compliant?
>
> Devices don't know the version of the spec, it works with features.
> For example, most devices mandate ACCESS_PLATFORM which implies a
> mandatory VERSION_1. So they are modern devices.
>
And modern devices should not write to the device config space. This
was discouraged in v1.x until v1.3 which now prohibits it. Did I get
this right?
Thanks,
Dragos
>> Or is this true of all devices
>> except eni?
>
> ENI depends on the virtio-pci legacy library, so we know it's a legacy
> device implementation which allows mac address setting via config
> space.
>
> Thanks
>
>>
>> Thanks,
>> Dragos
>>>
>>> And for eni, it is a legacy only device, so we should not move the
>>> set_config there.
>>>
>>> For the rest, we need the acks for those maintainers.
>>>
>>> Thanks
>>>
>>
>