OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

virtio message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [virtio] [OASIS Issue Tracker] Created: (VIRTIO-35) race condition with multi-dword config accesses


On Thu, Oct 10, 2013 at 10:59:59AM +0100, Pawel Moll wrote:
> On Wed, 2013-10-09 at 17:23 +0100, Michael S. Tsirkin wrote:
> > What I am saying is that version field must not be the version of
> > the transport.
> > It must only be there to declare that device is non transitional.
> > 
> > The virtio_mmio driver must not look at
> > the version field to detect whether device supports virtio 1.0.
> > Instead it must only look at whether device exposes VIRTIO_F_VERSION_1.
> 
> I completely disagree, but that's not a big problem. Fortunately the
> spec defines the device behaviour, not the driver implementation.

It really must do both. If we don't we get bad results:
for example we merely stated that device revision is 0 for
PCI and did not say that drivers must check it.
Result - old windows drivers ignored revision which gets in
the way of using that field for non-transitional devices.

> The
> device compliant with the spec will have to report version 2 - I don't
> think you're contesting that, are you?
> 
> Paweł

I think I do contest that at the moment.

I think a transitional device should report version 1.
In legacy drivers version is checked before features are probed
so as far as I can see there's no way for device to detect a legacy driver and
switch that to 1 dynamically.

I'm not saying spec should force anyone to implement
transitional devices, but I don't see why it should
make this completely impossible.

So I think that a device compliant with the spec can report versions 1 or 2.

This is why I think drivers must look at features to check support for 1.0.


-- 
MST


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]