From patchwork Sun Feb 20 19:53:19 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Gerhard Wiesinger X-Patchwork-Id: 83747 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [199.232.76.165]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id 186E0B716B for ; Mon, 21 Feb 2011 06:58:13 +1100 (EST) Received: from localhost ([127.0.0.1]:53767 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PrFQ2-0006m7-2G for incoming@patchwork.ozlabs.org; Sun, 20 Feb 2011 14:58:10 -0500 Received: from [140.186.70.92] (port=43094 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PrFMz-0005b0-9b for qemu-devel@nongnu.org; Sun, 20 Feb 2011 14:55:02 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PrFMx-0001JD-ET for qemu-devel@nongnu.org; Sun, 20 Feb 2011 14:55:01 -0500 Received: from chello084112167138.7.11.vie.surfer.at ([84.112.167.138]:41127 helo=wiesinger.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PrFMx-00017q-2E for qemu-devel@nongnu.org; Sun, 20 Feb 2011 14:54:59 -0500 Received: from bbs.intern (localhost [127.0.0.1]) by wiesinger.com (8.14.4/8.14.4) with ESMTP id p1KJrJCO006160 for ; Sun, 20 Feb 2011 20:53:19 +0100 Received: from localhost (gerhard@localhost) by bbs.intern (8.14.4/8.14.4/Submit) with ESMTP id p1KJrJ4M006156 for ; Sun, 20 Feb 2011 20:53:19 +0100 Date: Sun, 20 Feb 2011 20:53:19 +0100 (CET) From: Gerhard Wiesinger To: qemu-devel@nongnu.org Message-ID: User-Agent: Alpine 2.02 (LFD 1266 2009-07-14) MIME-Version: 1.0 Content-ID: X-MailScanner-Information-wiesinger-com: Please contact the ISP for more information X-wiesinger-com-MailScanner-ID: p1KJrJCO006160 X-MailScanner-wiesinger-com: Found to be clean X-MailScanner-SpamCheck-wiesinger-com: not spam, SpamAssassin (not cached, score=-4.399, required 4.5, autolearn=not spam, ALL_TRUSTED -1.80, BAYES_00 -2.60) X-MailScanner-From: lists@wiesinger.com X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 84.112.167.138 Subject: [Qemu-devel] [PATCH 2/2 V1] Fixed EPROM for AMD driver compatibility under DOS with Netware driver X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Signed-off-by: Gerhard Wiesinger --- hw/pcnet.c | 12 ++++++++++-- 1 files changed, 10 insertions(+), 2 deletions(-) diff --git a/hw/pcnet.c b/hw/pcnet.c index db52dc5..a6d5784 100644 --- a/hw/pcnet.c +++ b/hw/pcnet.c @@ -1562,9 +1562,17 @@ void pcnet_h_reset(void *opaque) /* Initialize the PROM */ + // Datasheet: http://pdfdata.datasheetsite.com/web/24528/AM79C970A.pdf + // page 95 + // bugfix under DOS with AMD netware driver: AMD PCNTNW Ethernet MLID v3.10 (960115), network card not found + // works well under DOS with AMD NDIS driver v2.0.1, Knoppix 6.2 ok memcpy(s->prom, s->conf.macaddr.a, 6); - s->prom[12] = s->prom[13] = 0x00; - s->prom[14] = s->prom[15] = 0x57; + s->prom[6] = s->prom[7] = 0x00; // Reserved Location: must be 00h + s->prom[8] = 0x00; // Reserved Location: must be 00h + s->prom[9] = 0x11; // Hardware ID: must be 11h if compatibility to AMD drivers is desired + s->prom[10] = s->prom[11] = 0x00; // User programmable space + s->prom[12] = s->prom[13] = 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[14] = s->prom[15] = 0x57; // Must be ASCII W (57h) if compatibility to AMD driver software is desired for (i = 0,checksum = 0; i < 16; i++) checksum += s->prom[i]; -- 1.7.3.4 Signed-off-by: Gerhard Wiesinger --- hw/pcnet.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/hw/pcnet.c b/hw/pcnet.c index a6d5784..2acd5f9 100644 --- a/hw/pcnet.c +++ b/hw/pcnet.c @@ -1571,7 +1571,7 @@ void pcnet_h_reset(void *opaque) s->prom[8] = 0x00; // Reserved Location: must be 00h s->prom[9] = 0x11; // Hardware ID: must be 11h if compatibility to AMD drivers is desired s->prom[10] = s->prom[11] = 0x00; // User programmable space - s->prom[12] = s->prom[13] = 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; // 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[14] = s->prom[15] = 0x57; // Must be ASCII W (57h) if compatibility to AMD driver software is desired for (i = 0,checksum = 0; i < 16; i++)