this is from ece lca <ecelca@yahoo.com>:
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.
This commit is contained in:
parent
68309b59b6
commit
25db9d70b3
@ -1,5 +1,5 @@
|
|||||||
/////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////
|
||||||
// $Id: ne2k.cc,v 1.24 2001-11-06 17:14:33 fries Exp $
|
// $Id: ne2k.cc,v 1.25 2001-11-06 20:30:09 fries Exp $
|
||||||
/////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// Copyright (C) 2001 MandrakeSoft S.A.
|
// Copyright (C) 2001 MandrakeSoft S.A.
|
||||||
@ -41,7 +41,7 @@ bx_ne2k_c::bx_ne2k_c(void)
|
|||||||
{
|
{
|
||||||
put("NE2K");
|
put("NE2K");
|
||||||
settype(NE2KLOG);
|
settype(NE2KLOG);
|
||||||
BX_DEBUG(("Init $Id: ne2k.cc,v 1.24 2001-11-06 17:14:33 fries Exp $"));
|
BX_DEBUG(("Init $Id: ne2k.cc,v 1.25 2001-11-06 20:30:09 fries Exp $"));
|
||||||
// nothing for now
|
// nothing for now
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1108,7 +1108,8 @@ bx_ne2k_c::rx_frame(const void *buf, unsigned io_len)
|
|||||||
|
|
||||||
BX_DEBUG(("rx_frame with length %d", io_len));
|
BX_DEBUG(("rx_frame with length %d", io_len));
|
||||||
|
|
||||||
if ((BX_NE2K_THIS s.CR.start == 0) ||
|
|
||||||
|
if ((BX_NE2K_THIS s.CR.stop != 0) ||
|
||||||
(BX_NE2K_THIS s.page_start == 0) ||
|
(BX_NE2K_THIS s.page_start == 0) ||
|
||||||
(BX_NE2K_THIS s.TCR.loop_cntl != 0)) {
|
(BX_NE2K_THIS s.TCR.loop_cntl != 0)) {
|
||||||
|
|
||||||
@ -1216,7 +1217,7 @@ bx_ne2k_c::rx_frame(const void *buf, unsigned io_len)
|
|||||||
void
|
void
|
||||||
bx_ne2k_c::init(bx_devices_c *d)
|
bx_ne2k_c::init(bx_devices_c *d)
|
||||||
{
|
{
|
||||||
BX_DEBUG(("Init $Id: ne2k.cc,v 1.24 2001-11-06 17:14:33 fries Exp $"));
|
BX_DEBUG(("Init $Id: ne2k.cc,v 1.25 2001-11-06 20:30:09 fries Exp $"));
|
||||||
BX_NE2K_THIS devices = d;
|
BX_NE2K_THIS devices = d;
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user