On Tue, 16 Feb 2021 14:37:22 +0000 Peter Maydell <peter.mayd...@linaro.org> wrote:
> On Tue, 16 Feb 2021 at 14:35, Thomas Huth <th...@redhat.com> wrote: > > > > On 16/02/2021 15.32, Peter Maydell wrote: > > > On Tue, 16 Feb 2021 at 14:30, Cornelia Huck <coh...@redhat.com> wrote: > > >> Step 4 in "2.7.13 Supplying Buffers to The Device": > > >> > > >> "The driver performs a suitable memory barrier to ensure the device > > >> sees the updated descriptor table and available ring before the next > > >> step." > > > > > > I thought that my first time through the spec as well, but > > > I think the whole of section 2.7 is dealing with "packed virtqueues", > > > which have to be explicitly negotiated and which I don't think > > > the s390-ccw code is doing. 2.7 is split, 2.8 packed (at least in my built-from-git version; maybe I should have mentioned that :) > > > > Right. I think the s390-ccw code is still based on virtio v1.0, that's why I > > also only looked at that version of the spec. Yes, the bios code is using split. > I think the ideal would be to find somebody who's really well > acquainted with the virtio spec (MST?) and ask them to have > a quick look-over the s390-ccw code to say where it needs > changes... The fact that this patch doesn't completely fix > the bug leaves me suspicious that we're missing something in > our readings of the spec. Unfortunately, the bios virtio code is not that easy to follow :/