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: [PATCH v3] transitional issues: add new IDs for all devices


(Re-send from correct email addr)

"Michael S. Tsirkin" <mst@redhat.com> writes:
> On Mon, Sep 23, 2013 at 06:27:46PM +0300, Michael S. Tsirkin wrote:
>> non-transitional devices should have been able to simply update
>> revision ID to make sure legacy drivers are not loaded.
>> Unfortunately, mistakes were made:
>> - we didn't stress that drivers must check revision ID,
>>   and of course there's no easy way for drivers to
>>   test this failure path,
>>   so older versions of Windows drivers ignored revision
>>   (latest vision matches revision correctly)
>> - CCW lacks revision ID field
>> 
>> Both facts mean a non-transitional device would need
>> a separate mechanism to prevent legacy drivers from
>> loading.
>> We aren't running out of device IDs yet, so
>> let's use up some to resolve this.
>> 
>> I incremented all IDs by 0x100 intentionally -
>> for the PCI bindings, this should help remind people they can't
>> just stick the Subsystem ID into the low byte of the Device ID.
>> 
>> VIRTIO-34
>> 
>> Changes from v1:
>> 	drop an unrelated chunk erroneously inserted here
>> changes from v2:
>> 	address Rusty's comments:
>> 	use rfc-2119 MUST/SHOULD/MAY
>> 	stress that all drivers match all devices,
>> 	and add motivation
>> 
>> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
>> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
>
> So after seeing the complex tricks that each transport is
> doing to solve compatibility problems, I am
> really beginning to think we should just go back to this approach.
>
> Two possible IDs for devices that same driver supports
> is not at all unusual in the physical world.
> It removes any need for drivers to play with versions:
>
> devices that want to support old drivers use the old ID
> and check feature bit _1 dynamically.
>
> devices that do not want to support old drivers use the new ID.
>
> Maybe this will be acceptable to people if we switch the additional
> ID from 0x101 to 0x21 (so it fits in 1 byte)?
>
> Let me phrase the question in this way: does anyone
> have objections against allowing multiple IDs per
> device in the spec? Specifically just the part below.

Yes.  MMIO doesn't want transition, and CCW doesn't want
non-transition.  So this is really a PCI issue.  And that's solved
except for now-obsoleted Windows PCI drivers with the revision ID.

I think the *conversation* has been complicated, but the solution hasn't
been.

Cheers,
Rusty.



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