From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1EdWFY-00069z-Eg for qemu-devel@nongnu.org; Sat, 19 Nov 2005 12:11:40 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1EdWFW-00069n-T9 for qemu-devel@nongnu.org; Sat, 19 Nov 2005 12:11:40 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1EdWFW-00069k-P0 for qemu-devel@nongnu.org; Sat, 19 Nov 2005 12:11:38 -0500 Received: from [199.45.160.85] (helo=harmony.bsdimp.com) by monty-python.gnu.org with esmtp (TLS-1.0:DHE_RSA_3DES_EDE_CBC_SHA:24) (Exim 4.34) id 1EdWFW-0008U6-BT for qemu-devel@nongnu.org; Sat, 19 Nov 2005 12:11:38 -0500 Date: Sat, 19 Nov 2005 10:09:03 -0700 (MST) Message-Id: <20051119.100903.106824759.imp@bsdimp.com> Subject: Re: [Qemu-devel] QNX 6.3 and a PCI network card From: "M. Warner Losh" In-Reply-To: <7f45d9390511181225t404ae527q@mail.gmail.com> References: <7f45d9390511181148p415af2d9n@mail.gmail.com> <20051118.131720.36665531.imp@bsdimp.com> <7f45d9390511181225t404ae527q@mail.gmail.com> Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: sjackman@gmail.com Cc: qemu-devel@nongnu.org In message: <7f45d9390511181225t404ae527q@mail.gmail.com> Shaun Jackman writes: : 2005/11/18, M. Warner Losh : : > I've run into issues with qemu's emulation of the RTL8129 that is : > claimed with changes I made to the FreeBSD ed driver. While I've : > fixed the ed driver to be more tolerent of the old emulation, I've : > fixed these issues in qemu with some patches that were posted here a : > while ago. Basically, it adds support for the id registers as well as : > the status registers that a RTL8129 driver might expect to be there : > (my patches always reports 10/baseT full duplex). : > : > These patches are in the FreeBSD ports collection right now. I can : > dig them up if there's a need. I hope they get applied to qemu soon. : > : > Warner : : I'd very much appreciate your sending me the patch. If it solves my : issue with QNX, I'll see if I can get it incorporated into the Debian : package. Since it is short, here is the patch that I have in the FreeBSD ports tree for this issue. It works sufficiently for FreeBSD's RTL subdriver of ed to be happy. Warner --- qemu/hw/ne2000.c~ Thu Oct 13 16:33:39 2005 +++ qemu/hw/ne2000.c Thu Oct 13 16:33:47 2005 @@ -47,7 +47,9 @@ #define EN0_CRDAHI 0x09 /* high byte, current remote dma address RD */ #define EN0_RSARHI 0x09 /* Remote start address reg 1 */ #define EN0_RCNTLO 0x0a /* Remote byte count reg WR */ +#define EN0_RTL8029ID0 0x0a /* Realtek ID byte #1 RD */ #define EN0_RCNTHI 0x0b /* Remote byte count reg WR */ +#define EN0_RTL8029ID1 0x0b /* Realtek ID byte #2 RD */ #define EN0_RSR 0x0c /* rx status reg RD */ #define EN0_RXCR 0x0c /* RX configuration reg WR */ #define EN0_TXCR 0x0d /* TX configuration reg WR */ @@ -64,6 +66,11 @@ #define EN2_STARTPG 0x21 /* Starting page of ring bfr RD */ #define EN2_STOPPG 0x22 /* Ending page +1 of ring bfr RD */ +#define EN3_CONFIG0 0x33 +#define EN3_CONFIG1 0x34 +#define EN3_CONFIG2 0x35 +#define EN3_CONFIG3 0x36 + /* Register accessed at EN_CMD, the 8390 base addr. */ #define E8390_STOP 0x01 /* Stop and reset the chip */ #define E8390_START 0x02 /* Start the chip, clear reset */ @@ -385,6 +392,21 @@ case EN2_STOPPG: ret = s->stop >> 8; break; + case EN0_RTL8029ID0: + ret = 0x50; + break; + case EN0_RTL8029ID1: + ret = 0x43; + break; + case EN3_CONFIG0: + ret = 0; /* 10baseT media */ + break; + case EN3_CONFIG2: + ret = 0x40; /* 10baseT active */ + break; + case EN3_CONFIG3: + ret = 0x40; /* Full duplex */ + break; default: ret = 0x00; break;