qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 2/2 V1] Fixed EPROM for AMD driver compatibility


From: Gerhard Wiesinger
Subject: Re: [Qemu-devel] [PATCH 2/2 V1] Fixed EPROM for AMD driver compatibility under DOS with Netware driver
Date: Tue, 22 Feb 2011 22:00:02 +0100 (CET)
User-agent: Alpine 2.02 (LFD 1266 2009-07-14)

Hello,

No comments? Can someone commit?

Thnx.

Ciao,
Gerhard

--
http://www.wiesinger.com/


On Sun, 20 Feb 2011, Gerhard Wiesinger wrote:

Signed-off-by: Gerhard Wiesinger <address@hidden>
---
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 <address@hidden>
---
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++)
--
1.7.3.4

reply via email to

[Prev in Thread] Current Thread [Next in Thread]