Re: [PATCH RFC 1/2] virtio: introduce packed ring defines
From: Tiwei Bie
Date: Tue Feb 27 2018 - 06:33:20 EST
On Tue, Feb 27, 2018 at 09:26:27AM +0000, David Laight wrote:
> From: Tiwei Bie
> > Sent: 23 February 2018 11:18
> ...
> > +struct vring_packed_desc_event {
> > + /* Descriptor Event Offset */
> > + __virtio16 desc_event_off : 15,
> > + /* Descriptor Event Wrap Counter */
> > + desc_event_wrap : 1;
> > + /* Descriptor Event Flags */
> > + __virtio16 desc_event_flags : 2;
> > +};
>
> This looks like you are assuming that a bit-field has a defined
> layout and can be used to map a 'hardware' structure.
> The don't, don't use them like that.
>
> David
>
Thanks for the comments! Above definition isn't used in
this RFC, and the corresponding parts (event suppression)
haven't been implemented yet. It's more like some pseudo
code (I should add some comments about this in the code).
I planned to change it to something like this in the next
version:
struct vring_packed_desc_event {
__virtio16 off_wrap;
__virtio16 flags; // XXX maybe not a good name for future
}; // extension. Only 2bits are used now.
But it seems that I had a misunderstanding about the spec
on this previously:
https://lists.oasis-open.org/archives/virtio-dev/201802/msg00173.html
Anyway, it will be addressed. Thank you very much! ;-)
Best regards,
Tiwei Bie