From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.33) id 1Bgi4r-0003CG-CF for qemu-devel@nongnu.org; Sat, 03 Jul 2004 06:49:01 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.33) id 1Bgi4p-0003Br-F9 for qemu-devel@nongnu.org; Sat, 03 Jul 2004 06:49:00 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.33) id 1Bgi4p-0003Bo-Cb for qemu-devel@nongnu.org; Sat, 03 Jul 2004 06:48:59 -0400 Received: from [62.253.162.49] (helo=mta09-svc.ntlworld.com) by monty-python.gnu.org with esmtp (Exim 4.34) id 1Bgi2n-0005h0-Si for qemu-devel@nongnu.org; Sat, 03 Jul 2004 06:46:57 -0400 From: Antony T Curtis In-Reply-To: <40E5B44C.1050100@jamsoft.com> References: <40E46BE1.3030904@jamsoft.com> <1088763903.911.14.camel@pcgem.rdg.cyberkinetica.com> <40E5B44C.1050100@jamsoft.com> Content-Type: multipart/mixed; boundary="=-jWegFRVGXBzIy8j2WWuC" Message-Id: <1088851201.376.3.camel@pcgem.rdg.cyberkinetica.com> Mime-Version: 1.0 Date: Sat, 03 Jul 2004 11:40:01 +0100 Subject: [Qemu-devel] Re: QEMU pcnet 6/28 patch against 6/30 CVS - not working? Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: David Black , Hetz Ben Hamo Cc: qemu-devel@nongnu.org --=-jWegFRVGXBzIy8j2WWuC Content-Type: text/plain Content-Transfer-Encoding: 7bit Hi, This new patch works for me with Mandrake 10 Official It should apply cleanly against QEMU CVS and hopefully compile cleanly on Linux as well as FreeBSD. I have also implemented the TX-ring poll so in theory, it should be fully functional. On Fri, 2004-07-02 at 20:15, David Black wrote: > Thanks - yes, it's the 'pcnet' driver, and it comes up in 32 bit mode: > > Jul 1 14:04:22 vs1a kernel: pcnet32.c:v1.27b 01.10.2002 > tsbogend@alpha.franken.de > Jul 1 14:04:22 vs1a kernel: PCI: Found IRQ 9 for device 0000:00:03.0 > Jul 1 14:04:22 vs1a kernel: PCI: Setting latency timer of device > 0000:00:03.0 to 64 > Jul 1 14:04:22 vs1a kernel: pcnet32: PCnet/PCI II 79C970A at 0xc020, > warning: CSR address invalid, > Jul 1 14:04:22 vs1a kernel: using instead PROM address of 52 54 > 00 12 34 56 assigned IRQ 9. > Jul 1 14:04:22 vs1a kernel: eth0: registered as PCnet/PCI II 79C970A > Jul 1 14:04:22 vs1a kernel: pcnet32: 1 cards_found. > > This driver is attractive to me because of the promise of decreased > latency. I get occasional data corruption with the ne2k-pci driver, > too. > > Dave > > Antony T Curtis wrote: > > On Thu, 2004-07-01 at 20:54, David Black wrote: > > > > > Hello, > > > > > > I applied your AMD pcnet NIC patch dated 6/28, to the QEMU CVS snapshot > > > from dad-answers.com dated 6/30. > > > > > > The patch seems to apply well, with some manual patching needed on vl.c > > > and Makefile.target, but nothing that looked problematic. > > > > > The patch attached should apply more cleanly against current CVS. > > > > I will try to see if it works any differently with running Linux. I > > assume you are using the pcnet32 driver, not the lance driver. Looking > > at the Linux driver source, it is able to use the DWORD I/O mode ... The > > FreeBSD, WinXP and OS/2 drivers appear to use the WORD I/O mode. It is > > possible that there is a bug in the simulation - particularly where the > > Linux driver probes the card in both modes. I will have to test it out. > > > > > FLAGS (\Seen)) -- Antony T Curtis --=-jWegFRVGXBzIy8j2WWuC Content-Disposition: attachment; filename=qemu-pcnet.patch3.gz Content-Type: application/x-gzip; name=qemu-pcnet.patch3.gz Content-Transfer-Encoding: base64 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 /bW4oQEA --=-jWegFRVGXBzIy8j2WWuC--