|
| 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] |