|
From: | Fabrice Bellard |
Subject: | Re: [Qemu-devel] [PATCH] ne2000 and Netware 3.11 |
Date: | Thu, 07 Apr 2005 22:15:43 +0200 |
User-agent: | Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.3) Gecko/20040913 |
Mark Jonckheere wrote:
++++++++++++++++++++++++ diff -wurb qemu/hw/ne2000.c qemu-patched/hw/ne2000.c --- qemu/hw/ne2000.c Sun Oct 3 15:56:00 2004 +++ qemu-patched/hw/ne2000.c Tue Mar 22 20:13:07 2005 @@ -289,7 +290,8 @@ ne2000_update_irq(s); break; case EN0_TPSR: - s->tpsr = val; + /* XXX: only 32K memory available, ignore bit 8 */ + s->tpsr = val & 0x7f; break; case EN0_TCNTLO: s->tcnt = (s->tcnt & 0xff00) | val;
This patch is not correct: it limits the memory to 16K, not 32K because the memory starts at a 16K offset. A possible solution could be to wrap to 16K only if (tpsr << 8) >= 48K. Moreover, it should be done in the packet transmit code.
Note:this patch also includes the patch I proposed on 24-12-2004 with title: "[PATCH] ne2000: Reset TXP bit after sending packet." since it is also needed to make Netware recognise the ne2000 card.
OK for this one. Fabrice.
[Prev in Thread] | Current Thread | [Next in Thread] |