[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]