Changeset 76766 in vbox for trunk/src/VBox
- Timestamp:
- Jan 11, 2019 8:56:40 AM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Network/DevPCNet.cpp
r76765 r76766 293 293 * There were also non-busmastering LANCE adapters, such as the BICC 4110-1, DEC DEPCA, 294 294 * or NTI 16. Those are uninteresting. 295 * 295 * 296 296 * Newer adapters based on the integrated PCnet-ISA (Am79C960) and later have a fixed 297 297 * register layout compatible with the NE2100. However, they may still require different … … 1874 1874 * Write data into guest receive buffers. 1875 1875 */ 1876 static void pcnetReceiveNoSync(PPCNETSTATE pThis, const uint8_t *buf, size_t cbToRecv, bool fAddFCS )1876 static void pcnetReceiveNoSync(PPCNETSTATE pThis, const uint8_t *buf, size_t cbToRecv, bool fAddFCS, bool fLoopback) 1877 1877 { 1878 1878 PPDMDEVINS pDevIns = PCNETSTATE_2_DEVINS(pThis); … … 1959 1959 1960 1960 if (!fStrip) { 1961 while (cbToRecv < 60) 1962 src[cbToRecv++] = 0; 1961 /* In loopback mode, Runt Packed Accept is always enabled internally; 1962 * don't do any padding because guest may be looping back very short packets. 1963 */ 1964 if (!fLoopback) 1965 while (cbToRecv < 60) 1966 src[cbToRecv++] = 0; 1963 1967 1964 1968 if (fAddFCS) … … 2109 2113 /* see description of TXDPOLL: 2110 2114 * ``transmit polling will take place following receive activities'' */ 2111 pcnetPollRxTx(pThis); 2115 if (!fLoopback) 2116 pcnetPollRxTx(pThis); 2112 2117 pcnetUpdateIrq(pThis); 2113 2118 } … … 2234 2239 pcnetRdtePoll(pThis); 2235 2240 2236 pcnetReceiveNoSync(pThis, pThis->abLoopBuf, pSgBuf->cbUsed, true /* fAddFCS */ );2241 pcnetReceiveNoSync(pThis, pThis->abLoopBuf, pSgBuf->cbUsed, true /* fAddFCS */, fLoopback); 2237 2242 pThis->Led.Actual.s.fReading = 0; 2238 2243 rc = VINF_SUCCESS; … … 4676 4681 if (cb > 70) /* unqualified guess */ 4677 4682 pThis->Led.Asserted.s.fReading = pThis->Led.Actual.s.fReading = 1; 4678 pcnetReceiveNoSync(pThis, (const uint8_t *)pvBuf, cb, fAddFCS );4683 pcnetReceiveNoSync(pThis, (const uint8_t *)pvBuf, cb, fAddFCS, false); 4679 4684 pThis->Led.Actual.s.fReading = 0; 4680 4685 }
Note:
See TracChangeset
for help on using the changeset viewer.