From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=45186 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PvqsX-0008T7-8X for qemu-devel@nongnu.org; Sat, 05 Mar 2011 07:46:42 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PvqsQ-00029g-JL for qemu-devel@nongnu.org; Sat, 05 Mar 2011 07:46:37 -0500 Received: from chello084112167138.7.11.vie.surfer.at ([84.112.167.138]:53183 helo=wiesinger.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PvqsQ-00020U-6T for qemu-devel@nongnu.org; Sat, 05 Mar 2011 07:46:30 -0500 Received: from bbs.intern (localhost [127.0.0.1]) by wiesinger.com (8.14.4/8.14.4) with ESMTP id p25Cide3023627 for ; Sat, 5 Mar 2011 13:44:39 +0100 Received: from localhost (gerhard@localhost) by bbs.intern (8.14.4/8.14.4/Submit) with ESMTP id p25Cidks023623 for ; Sat, 5 Mar 2011 13:44:39 +0100 Date: Sat, 5 Mar 2011 13:44:39 +0100 (CET) From: Gerhard Wiesinger Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; format=flowed; charset=US-ASCII Subject: [Qemu-devel] [PATCH] hw/pcnet.c: Fix EPROM contents to suit AMD netware drivers List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org bugfix under DOS for AMD netware driver: AMD PCNTNW Ethernet MLID v3.10 (960115), network card not found bugfix works well under DOS with: 1.) AMD NDIS driver v2.0.1 2.) AMD PCNTNW Ethernet MLID v3.10 (960115) 3.) Knoppix 6.2 Signed-off-by: Gerhard Wiesinger --- hw/pcnet.c | 16 ++++++++++++++++ 1 files changed, 16 insertions(+), 0 deletions(-) diff --git a/hw/pcnet.c b/hw/pcnet.c index db52dc5..6dfdcc4 100644 --- a/hw/pcnet.c +++ b/hw/pcnet.c @@ -1562,8 +1562,24 @@ void pcnet_h_reset(void *opaque) /* Initialize the PROM */ + /* + Datasheet: http://pdfdata.datasheetsite.com/web/24528/AM79C970A.pdf + page 95 + */ memcpy(s->prom, s->conf.macaddr.a, 6); + /* Reserved Location: must be 00h */ + s->prom[6] = s->prom[7] = 0x00; + /* Reserved Location: must be 00h */ + s->prom[8] = 0x00; + /* Hardware ID: must be 11h if compatibility to AMD drivers is desired */ + s->prom[9] = 0x11; + /* User programmable space, init with 0 */ + s->prom[10] = s->prom[11] = 0x00; + /* LSByte of two-byte checksum, which is the sum of bytes 00h-0Bh + and bytes 0Eh and 0Fh, must therefore be initialized with 0! */ s->prom[12] = s->prom[13] = 0x00; + /* Must be ASCII W (57h) if compatibility to AMD + driver software is desired */ s->prom[14] = s->prom[15] = 0x57; for (i = 0,checksum = 0; i < 16; i++) -- 1.7.3.4