@@ 93,11 93,13 @@ X86type x86type[] =
{ 4, 8, 22, "IntelDX4", },
{ 5, 1, 23, "Pentium510", },
{ 5, 2, 23, "Pentium735", },
+ { 6, 1, 16, "PentiumPro", },/* determined by trial and error */
/* family defaults */
{ 3, -1, 32, "Intel386", },
{ 4, -1, 22, "Intel486", },
{ 5, -1, 23, "Pentium", },
+ { 6, -1, 16, "PentiumPro", },
/* total default */
{ -1, -1, 23, "unknown", },
@@ 722,7 722,7 @@ interrupt(Ureg*, void* arg)
}
if(txstatus & (txJabber|txUnderrun)){
- COMMAND(port, TxReset, 0);
+ COMMAND(port, TxReset, dmaReset);
while(STATUS(port) & commandInProgress)
;
COMMAND(port, SetTxStartThresh, ctlr->txthreshold>>ctlr->ts);
@@ 1219,8 1219,8 @@ etherelnk3reset(Ether* ether)
* if any txUnderrun errors occur and ensure no RxEarly
* interrupts happen.
*/
- ctlr->txthreshold = ETHERMINTU;
- COMMAND(port, SetTxStartThresh, ETHERMINTU>>ctlr->ts);
+ ctlr->txthreshold = ETHERMINTU*2;
+ COMMAND(port, SetTxStartThresh, ctlr->txthreshold>>ctlr->ts);
COMMAND(port, SetRxEarlyThresh, rxearly>>ctlr->ts);
iunlock(&ctlr->wlock);