d3417529f3
by Bryce. For ecelca@yahoo it fixes ping packet loss, but for Psyon it causes 100% packet loss.
47 lines
1.5 KiB
Plaintext
47 lines
1.5 KiB
Plaintext
----------------------------------------------------------------------
|
|
Patch name: patch.ne2k-start-bit
|
|
Author: ece lca <ecelca@yahoo.com>
|
|
Date: Wed, 8 Aug 2001 17:53:06 -0700 (PDT)
|
|
RCS Id: $Id: patch.ne2k-start-bit,v 1.1 2001-08-10 17:19:18 bdenney Exp $
|
|
|
|
Detailed description:
|
|
I compiled Bochs on Linux and installed a linux
|
|
in it, but when I ping a machine on my LAN, I get
|
|
packet loss. Sometimes as much as 70% is lost.
|
|
So I read ne2k.cc, Linux 8390 driver and 8390 chip
|
|
specification. I find that 8390 command register START
|
|
bit is misused in ne2k.cc. According to the chip
|
|
specification, even if START=0, the chip does not stop
|
|
working.
|
|
|
|
Patch was created with:
|
|
cvs diff -c
|
|
Apply patch to what version:
|
|
CVS
|
|
Instructions:
|
|
To patch, go to main bochs directory.
|
|
Type "patch -p0 < THIS_PATCH_FILE".
|
|
----------------------------------------------------------------------
|
|
RCS file: /cvsroot/bochs/bochs/iodev/ne2k.cc,v
|
|
retrieving revision 1.18
|
|
diff -c -r1.18 ne2k.cc
|
|
*** iodev/ne2k.cc 2001/06/27 20:27:49 1.18
|
|
--- iodev/ne2k.cc 2001/08/10 17:15:45
|
|
***************
|
|
*** 1063,1069 ****
|
|
|
|
BX_DEBUG(("rx_frame with length %d", io_len));
|
|
|
|
! if ((BX_NE2K_THIS s.CR.start == 0) ||
|
|
(BX_NE2K_THIS s.page_start == 0) ||
|
|
(BX_NE2K_THIS s.TCR.loop_cntl != 0)) {
|
|
return;
|
|
--- 1063,1069 ----
|
|
|
|
BX_DEBUG(("rx_frame with length %d", io_len));
|
|
|
|
! if ((BX_NE2K_THIS s.CR.stop == 0) ||
|
|
(BX_NE2K_THIS s.page_start == 0) ||
|
|
(BX_NE2K_THIS s.TCR.loop_cntl != 0)) {
|
|
return;
|