From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NreKl-0005Lc-Hp for qemu-devel@nongnu.org; Tue, 16 Mar 2010 17:29:51 -0400 Received: from [199.232.76.173] (port=33686 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NreKj-0005LU-QU for qemu-devel@nongnu.org; Tue, 16 Mar 2010 17:29:49 -0400 Received: from Debian-exim by monty-python.gnu.org with spam-scanned (Exim 4.60) (envelope-from ) id 1NreKi-00017e-D6 for qemu-devel@nongnu.org; Tue, 16 Mar 2010 17:29:49 -0400 Received: from moutng.kundenserver.de ([212.227.126.186]:57880) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1NreKh-00017a-TM for qemu-devel@nongnu.org; Tue, 16 Mar 2010 17:29:48 -0400 Message-ID: <4B9FF847.8070502@mail.berlios.de> Date: Tue, 16 Mar 2010 22:29:43 +0100 From: Stefan Weil MIME-Version: 1.0 Subject: Re: [Qemu-devel] [PATCH] pcnet: make subsystem vendor id match hardware References: <20100315133650.GA31573@redhat.com> In-Reply-To: <20100315133650.GA31573@redhat.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Michael S. Tsirkin" Cc: qemu-devel@nongnu.org Michael S. Tsirkin schrieb: > Real pcnet device (AT2450) apparently has subsystem > device and vendor id set to 0, this is out of spec > (which requires that vendor id is obtained from PCI SIG) > but windows xp driver seems to need this in order > to associate. > > qemu sets pci subsystem id to qumranet/qemu > since d350d97d196a632b6c7493acf07a061017fc6f7d, > debian does not yet have this patch. > > https://bugzilla.redhat.com/show_bug.cgi?id=521247 > > Signed-off-by: Michael S. Tsirkin > Cc: Gerd Hoffmann > Cc: Anthony Liguori > --- > hw/pcnet.c | 3 +++ > 1 files changed, 3 insertions(+), 0 deletions(-) > > diff --git a/hw/pcnet.c b/hw/pcnet.c > index 44b5b31..12260be 100644 > --- a/hw/pcnet.c > +++ b/hw/pcnet.c > @@ -1997,6 +1997,9 @@ static int pci_pcnet_init(PCIDevice *pci_dev) > pci_set_long(pci_conf + PCI_BASE_ADDRESS_0 + 4, > PCI_BASE_ADDRESS_SPACE_MEMORY); > > + pci_set_word(pci_conf + PCI_SUBSYSTEM_VENDOR_ID, 0x0); > + pci_set_word(pci_conf + PCI_SUBSYSTEM_ID, 0x0); > + > /* TODO: value must be 0 at RST# */ > pci_conf[PCI_INTERRUPT_PIN] = 1; // interrupt pin 0 > pci_conf[PCI_MIN_GNT] = 0x06; > Don't you think that a comment in the code (with the same explanation which you wrote above) would be helpful in this special case? Of course one can always call git blame, but a comment is easier to read. Regards Stefan