All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Vadim Rozenfeld <vrozenfe@redhat.com>
Cc: Yan Vugenfirer <yvugenfi@redhat.com>,
	Michael Tokarev <mjt@tls.msk.ru>,
	qemu-devel <qemu-devel@nongnu.org>,
	virtualization@lists.linux-foundation.org,
	Anthony Liguori <anthony@codemonkey.ws>
Subject: Re: [Qemu-devel] Headsup: windows virtio networking does not work on current git
Date: Thu, 7 Feb 2013 13:33:56 +0200	[thread overview]
Message-ID: <20130207113356.GA5708@redhat.com> (raw)
In-Reply-To: <1360234419.1968.162.camel@localhost>

On Thu, Feb 07, 2013 at 09:53:39PM +1100, Vadim Rozenfeld wrote:
> On Thu, 2013-02-07 at 12:18 +0200, Michael S. Tsirkin wrote:
> > On Thu, Feb 07, 2013 at 08:24:10PM +1100, Vadim Rozenfeld wrote:
> > > On Thu, 2013-02-07 at 11:33 +1030, Rusty Russell wrote:
> > > > Vadim Rozenfeld <vrozenfe@redhat.com> writes:
> > > > > On Tue, 2013-02-05 at 13:58 +0200, Michael S. Tsirkin wrote:
> > > > >> On Tue, Feb 05, 2013 at 03:45:38PM +0400, Michael Tokarev wrote:
> > > > >>  Is it really
> > > > >> > that bad that the config space size changed?  Why it has this effect?
> > > > > Because in this case it's hard to distinguish between resource's
> > > > > corruption and HW update.
> > > > 
> > > > But it's also true that if we'd incremented revid you'd have the same
> > > > failure in this case, right?
> > > 
> > > It depends. If we have explicitly specified revision id in inf file and
> > > this id doesn't mach the new revision id, Windows will not try to load
> > > the "incompatible" driver, and finish up with "device driver not found"
> > > dialog.
> > > 
> > > Best regards,
> > > Vadim.
> > >   
> > > > 
> > > > Cheers,
> > > > Rusty.
> > 
> > Well that's all in theory, in practice it does not look like revision ID
> > is specified in the NetKVM inf so this won't work?
> > 
> > From what I see this inf specifies:
> > 
> > NetKVM/wlh/netkvm.inf:%kvmnet6.DeviceDesc%    = kvmnet6.ndi, PCI\VEN_1AF4&DEV_1000&SUBSYS_00011AF4
> > NetKVM/wxp/netkvm.inf:%kvmnet5.DeviceDesc%    = kvmnet5.ndi, PCI\VEN_1AF4&DEV_1000&SUBSYS_00011AF4
> > NetKVM/wxp/netkvm2k.inf:%kvmnet5.DeviceDesc%    = kvmnet5.ndi, PCI\VEN_1AF4&DEV_1000&SUBSYS_00011AF4
> > 
> > So we can tweak any of vendor device and subsystem id.
> > 
> Unfortunately, it won't. Only balloon has revision id, specified as a
> part of device HW descriptor. But it's only because virtio doesn't use 
> revision ids. Otherwise it differential will be there. 

So your driver will load and attempt to work on rev=2 devices?
If yes it's a bug.  virtio spec specifies revision id as an ABI version.
Linux driver does:

        if (pci_dev->revision != VIRTIO_PCI_ABI_VERSION) {
                printk(KERN_ERR "virtio_pci: expected ABI version %d, got %d\n",
                       VIRTIO_PCI_ABI_VERSION, pci_dev->revision);
                return -ENODEV;
        }


> > 
> > Changing subsystem vendor ID actually will be completely
> > transparent to linux which for some reason looks at the
> > subsystem device ID (why? no idea) but not the subsystem vendor ID.
> > Of course this requires a valid vendor ID, getting this
> > costs $3000 I think.
> > We could tweak device ID too but that might break some other guests
> > which don't copy the crazy 'replace device id with subsystem device id'
> > logic from Linux.
> > 
> 

Apropos, would you guys like to start to copy your patches to
virtualization@lists.linux-foundation.org?
If you do, you might get some review and feedback, allowing
us to catch such forward compatibility issues earlier.

Of course it's your project so entirely up to you.


-- 
MST

       reply	other threads:[~2013-02-07 11:33 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1359981484.1968.29.camel@localhost>
     [not found] ` <87fw1ckupa.fsf@codemonkey.ws>
     [not found]   ` <1360063865.1968.85.camel@localhost>
     [not found]     ` <5110F0E2.1030705@msgid.tls.msk.ru>
     [not found]       ` <20130205115816.GD6420@redhat.com>
     [not found]         ` <1360144040.1968.119.camel@localhost>
     [not found]           ` <877gmlj5pz.fsf@rustcorp.com.au>
     [not found]             ` <1360229050.1968.149.camel@localhost>
     [not found]               ` <20130207101813.GA3837@redhat.com>
     [not found]                 ` <1360234419.1968.162.camel@localhost>
2013-02-07 11:33                   ` Michael S. Tsirkin [this message]
2013-02-07 11:46                     ` [Qemu-devel] Headsup: windows virtio networking does not work on current git Vadim Rozenfeld
2013-02-07 13:02                       ` Yan Vugenfirer
2013-02-07 13:10                         ` Michael S. Tsirkin
2013-02-01 20:18 Michael Tokarev
2013-02-01 20:30 ` Michael Tokarev
2013-02-01 20:36   ` Anthony Liguori
2013-02-01 20:42     ` Michael Tokarev
2013-02-01 21:13       ` Anthony Liguori
2013-02-02 12:42         ` Jason Wang
2013-02-02 20:08           ` Vadim Rozenfeld
2013-02-02 23:07             ` Anthony Liguori
2013-02-03 13:23               ` Yan Vugenfirer
2013-02-03 16:09                 ` Michael Tokarev
2013-02-03 21:09                   ` Anthony Liguori

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20130207113356.GA5708@redhat.com \
    --to=mst@redhat.com \
    --cc=anthony@codemonkey.ws \
    --cc=mjt@tls.msk.ru \
    --cc=qemu-devel@nongnu.org \
    --cc=virtualization@lists.linux-foundation.org \
    --cc=vrozenfe@redhat.com \
    --cc=yvugenfi@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.