[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210302130812.6227f176.cohuck@redhat.com>
Date: Tue, 2 Mar 2021 13:08:12 +0100
From: Cornelia Huck <cohuck@...hat.com>
To: Jason Wang <jasowang@...hat.com>
Cc: "Michael S. Tsirkin" <mst@...hat.com>,
Si-Wei Liu <si-wei.liu@...cle.com>, elic@...dia.com,
linux-kernel@...r.kernel.org,
virtualization@...ts.linux-foundation.org, netdev@...r.kernel.org,
virtio-dev@...ts.oasis-open.org
Subject: Re: [virtio-dev] Re: [PATCH] vdpa/mlx5: set_features should allow
reset to zero
On Mon, 1 Mar 2021 11:51:08 +0800
Jason Wang <jasowang@...hat.com> wrote:
> On 2021/3/1 5:25 上午, Michael S. Tsirkin wrote:
> > On Fri, Feb 26, 2021 at 04:19:16PM +0800, Jason Wang wrote:
> >> On 2021/2/26 2:53 上午, Michael S. Tsirkin wrote:
> >>> Confused. What is wrong with the above? It never reads the
> >>> field unless the feature has been offered by device.
> >>
> >> So the spec said:
> >>
> >> "
> >>
> >> The following driver-read-only field, max_virtqueue_pairs only exists if
> >> VIRTIO_NET_F_MQ is set.
> >>
> >> "
> >>
> >> If I read this correctly, there will be no max_virtqueue_pairs field if the
> >> VIRTIO_NET_F_MQ is not offered by device? If yes the offsetof() violates
> >> what spec said.
> >>
> >> Thanks
> > I think that's a misunderstanding. This text was never intended to
> > imply that field offsets change beased on feature bits.
> > We had this pain with legacy and we never wanted to go back there.
> >
> > This merely implies that without VIRTIO_NET_F_MQ the field
> > should not be accessed. Exists in the sense "is accessible to driver".
> >
> > Let's just clarify that in the spec, job done.
>
>
> Ok, agree. That will make things more eaiser.
Yes, that makes much more sense.
What about adding the following to the "Basic Facilities of a Virtio
Device/Device Configuration Space" section of the spec:
"If an optional configuration field does not exist, the corresponding
space is still present, but reserved."
(Do we need to specify what a device needs to do if the driver tries to
access a non-existing field? We cannot really make assumptions about
config space accesses; virtio-ccw can just copy a chunk of config space
that contains non-existing fields... I guess the device could ignore
writes and return zeroes on read?)
I've opened https://github.com/oasis-tcs/virtio-spec/issues/98 for the
spec issues.
Powered by blists - more mailing lists