virtio — archive
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
— [Date Index]
| [Thread Index]
| [Month Index]
| [List Home]
[PATCH 0/4] ccw: various updates
On Mon, Feb 09, 2015 at 07:09:38PM +0100, Cornelia Huck wrote:
> On Mon, 9 Feb 2015 15:49:36 +0100 > "Michael S. Tsirkin" <[email protected]> wrote: > >
> On Mon, Feb 09, 2015 at 09:38:12AM +0100, Cornelia Huck wrote: > >
> On Sun, 8 Feb 2015 11:21:18 +0100 > > > "Michael S. Tsirkin" <[email protected]> wrote: > > > > > >
> On Fri, Oct 31, 2014 at 03:26:18PM +0100, Cornelia Huck wrote: > > > >
> We don't want the VERSION_1 feature bit unless at least revision 1 > > > >
> has been negotiated. Make this a requirement. > > > > > > > > >
> VIRTIO-119 > > > > > > > > >
> Signed-off-by: Cornelia Huck <[email protected]> > > > > > > >
> Sorry about the delay in response. > > >
> I think I disagree with this one. > > > > > > >
> I think this discusses how transitional devices work when > > >
> using the legacy interface? > > >
> In that case, this needs to go into a separate section, > > >
> explicitly labelled "legacy". > > > > >
> Hmm... but a legacy device does not actually know about VERSION_1, does > >
> it? Or am I misunderstanding what you mean? > > >
> you are describing here behaviour where negotiated >
> revision is 0, is that right? >
> If so this is transitional device/driver behaviour, isn't it? >
> But a legacy device/driver can't negotiate version 0, as it doesn't
> know the respective command. We have a table in the spec that says version 0 is legacy, do we not? I assumed some legacy drivers do negotiate revisions? > > >
> Looking into this deeper, how do devices "not accept" > > >
> bits when using a legacy interface? > > > > >
> A legacy device can't accept the VERSION_1 bit, as it only has 32 > >
> feature bits. It will fail the ccw for the second half of the feature > >
> bits. > > >
> So are we talking about drivers which set guest feature bits >
> which are not set in the host feature bit mask? > > >
> We have this text: >
> 2.2.2 Device Requirements: Feature Bits >
> The device MUST NOT offer a feature which requires another feature which >
> was not offered. The device >
> SHOULD accept any valid subset of features the driver accepts, otherwise >
> it MUST fail to set the FEA- >
> TURES_OK device status bit when the driver writes it. >
> But here you were asking about legacy devices, weren't you? And these
> simply don't have the second half of feature bits, and of course don't
> know of the FEATURE_OK bit. >
> And this section is talking about feature bit dependencies, isn't it? I don't rightly know - I asked above whether you are talking about drivers which set guest feature bits which are not set in the host feature bit mask. > > > > > > >
> Also, the wording here seems wrong to me. > > > > >
> Could you elaborate? > > > > "if not at least" seems confusing. do you mean > > "negotiated revision is 0"? > > "if not at least revision 1 has been negotiated" == "no revision or
> revision 0 has been negotiated" (so revision 0, as this is not about
> legacy devices/drivers) >
> I don't know what's confusing about "at least"? E.g. it's unclear whether no negotiation is included. I prefer it that we stick to positives.
>
> negociated isn't in my dictionary. >
> Sigh, that's an obvious typo. > > >
> I think this all boils down to whether revision handling is enough to > >
> designate a device as non-legacy, no? > > >
> It's not clear to me from this text. >
> 4.3.2.1 Setting the Virtio Revision >
> says rev 0 is legacy interface, but there >
> is not conformance statement. >
> Hm, I meant "standard compliant device/driver using the legacy
> interface". In practice, revision 0 is unlikely to be ever negotiated. >
> This all boils down to what a legacy device/driver is supposed to be.
> For me, it is a device/driver not knowing about the standard. Yes, it's an old one written before the standard, doing whatever it always did.
> Negotiating any revision (including 0) indicates it cares about the
> standard. So really no legacy driver/device had revision 0? Why don't we forbid revision 0 outright?
> Talking about revisions in the legacy sections therefore
> sounds wrong to me. Let's just say "no revision has been negotiated"?
>
> Would you like to add text that says negotiating rev 0 >
> MUST force legacy interface? >
> Such text should be in a separate section marked "Legacy Interface". > > >
> We can add text that says drivers must not accept VIRTIO_F_VERSION_1 >
> in this mode, and devices must not offer VIRTIO_F_VERSION_1. >
> Seems generic, non ccw specific, does it not? >
> It is specific to ccw revisions, unless we describe a general revision
> mechanism with specific implementations. The concept of legacy interface is generic. The way to detect it is transport specific. >
> Such text should also be in a separate section marked "Legacy Interface". >
> Can we somehow withdraw the ballot? It seems this whole topic needs
> more discussion, and I'm currently in the middle of a move and don't
> have a head for in-depth discussions. Sure, I can do it. For the record, can you please add a comment in the relevant issue tracker to explicitly confirm that you propose cancelling this ballot:
https://www.oasis-open.org/apps/org/workgroup/virtio/ballot.php?id=2764
--
MST
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
— [Date Index]
| [Thread Index]
| [Month Index]
| [List Home]