Changeset 76051 in vbox
- Timestamp:
- Dec 7, 2018 11:23:22 AM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Network/DevPCNet.cpp
r76020 r76051 105 105 #define MAX_FRAME 1536 106 106 107 #define PCNETSTATE_2_DEVINS(pPC Net) ((pPCNet)->CTX_SUFF(pDevIns))107 #define PCNETSTATE_2_DEVINS(pPCnet) ((pPCnet)->CTX_SUFF(pDevIns)) 108 108 #define PCIDEV_2_PCNETSTATE(pPciDev) RT_FROM_MEMBER((pPciDev), PCNETSTATE, PciDev) 109 109 #define PCNET_INST_NR (PCNETSTATE_2_DEVINS(pThis)->iInstance) … … 1354 1354 pThis->pDevInsHC->pvInstanceDataHC, 1355 1355 pThis->pDevInsHC->pvInstanceDataRC, 1356 "PC Net receive ring write access handler");1356 "PCnet receive ring write access handler"); 1357 1357 AssertRC(rc); 1358 1358 … … 1391 1391 pThis->CTX_SUFF(pDevIns)->pvInstanceDataR0, 1392 1392 pThis->CTX_SUFF(pDevIns)->pvInstanceDataRC, 1393 "PC Net transmit ring write access handler");1393 "PCnet transmit ring write access handler"); 1394 1394 AssertRC(rc); 1395 1395 … … 1504 1504 CSR_CXST(pThis) = CSR_CXBC(pThis) = CSR_NXST(pThis) = CSR_NXBC(pThis) = 0; 1505 1505 1506 LogRel(("PC Net#%d: Init: ss32=%d GCRDRA=%#010x[%d] GCTDRA=%#010x[%d]%s\n",1506 LogRel(("PCnet#%d: Init: ss32=%d GCRDRA=%#010x[%d] GCTDRA=%#010x[%d]%s\n", 1507 1507 PCNET_INST_NR, BCR_SSIZE32(pThis), 1508 1508 pThis->GCRDRA, CSR_RCVRL(pThis), pThis->GCTDRA, CSR_XMTRL(pThis), … … 1623 1623 */ 1624 1624 if (++pThis->uCntBadRMD < 50) 1625 LogRel(("PC Net#%d: BAD RMD ENTRIES AT %#010x (i=%d)\n",1625 LogRel(("PCnet#%d: BAD RMD ENTRIES AT %#010x (i=%d)\n", 1626 1626 PCNET_INST_NR, addr, i)); 1627 1627 return; … … 1657 1657 */ 1658 1658 if (++pThis->uCntBadRMD < 50) 1659 LogRel(("PC Net#%d: BAD RMD ENTRIES + AT %#010x (i=%d)\n",1659 LogRel(("PCnet#%d: BAD RMD ENTRIES + AT %#010x (i=%d)\n", 1660 1660 PCNET_INST_NR, addr, i)); 1661 1661 return; … … 1694 1694 { 1695 1695 STAM_PROFILE_ADV_STOP(&pThis->CTX_SUFF_Z(StatTdtePoll), a); 1696 LogRel(("PC Net#%d: BAD TMD XDA=%#010x\n",1696 LogRel(("PCnet#%d: BAD TMD XDA=%#010x\n", 1697 1697 PCNET_INST_NR, PHYSADDR(pThis, cxda))); 1698 1698 return 0; … … 1756 1756 { 1757 1757 STAM_PROFILE_ADV_STOP(&pThis->CTX_SUFF_Z(StatTxLenCalc), a); 1758 LogRel(("PC Net#%d: BAD TMD XDA=%#010x\n",1758 LogRel(("PCnet#%d: BAD TMD XDA=%#010x\n", 1759 1759 PCNET_INST_NR, PHYSADDR(pThis, addrDesc))); 1760 1760 Log3(("#%d pcnetCalcPacketLen: bad TMD, return %u\n", PCNET_INST_NR, cbPacket)); … … 1814 1814 /* Not owned by controller. This should not be possible as 1815 1815 * we already called pcnetCanReceive(). */ 1816 LogRel(("PC Net#%d: no buffer: RCVRC=%d\n", PCNET_INST_NR, CSR_RCVRC(pThis)));1816 LogRel(("PCnet#%d: no buffer: RCVRC=%d\n", PCNET_INST_NR, CSR_RCVRC(pThis))); 1817 1817 /* Dump the status of all RX descriptors */ 1818 1818 const unsigned cb = 1 << pThis->iLog2DescSize; … … 2453 2453 * two's complement numbers between 0 and 4096. AMD's drivers 2454 2454 * in fact generally treat the length as a 16-bit quantity. */ 2455 LogRel(("PC Net#%d: pcnetAsyncTransmit: illegal 4kb frame -> ignoring\n", PCNET_INST_NR));2455 LogRel(("PCnet#%d: pcnetAsyncTransmit: illegal 4kb frame -> ignoring\n", PCNET_INST_NR)); 2456 2456 pcnetTmdStorePassHost(pThis, &tmd, PHYSADDR(pThis, CSR_CXDA(pThis))); 2457 2457 break; … … 2461 2461 /* Signal error, as this violates the Ethernet specs. */ 2462 2462 /** @todo check if the correct error is generated. */ 2463 LogRel(("PC Net#%d: pcnetAsyncTransmit: illegal 4kb frame -> signalling error\n", PCNET_INST_NR));2463 LogRel(("PCnet#%d: pcnetAsyncTransmit: illegal 4kb frame -> signalling error\n", PCNET_INST_NR)); 2464 2464 2465 2465 pcnetXmitFailTMDGeneric(pThis, &tmd); … … 2634 2634 * @returns VBox status code. VERR_TRY_AGAIN is returned if we're busy. 2635 2635 * 2636 * @param pThis The PC Net instance data.2636 * @param pThis The PCnet instance data. 2637 2637 * @param fOnWorkerThread Whether we're on a worker thread or on an EMT. 2638 2638 */ … … 2758 2758 * The drawback is that csr46 and csr47 are not updated properly anymore 2759 2759 * but so far I have not seen any guest depending on these values. The 2ms 2760 * interval is the default polling interval of the PC Net card (65536/33MHz). */2760 * interval is the default polling interval of the PCnet card (65536/33MHz). */ 2761 2761 #ifdef PCNET_NO_POLLING 2762 2762 pcnetPollRxTx(pThis); … … 3858 3858 if (pThis->fLinkUp) 3859 3859 { 3860 LogRel(("PC Net#%d: The link is back up again after the restore.\n",3860 LogRel(("PCnet#%d: The link is back up again after the restore.\n", 3861 3861 pDevIns->iInstance)); 3862 3862 Log(("#%d pcnetTimerRestore: Clearing ERR and CERR after load. cLinkDownReported=%d\n", … … 3891 3891 3892 3892 rc = PDMDevHlpIOPortRegister(pDevIns, Port, 0x10, 0, pcnetIOPortAPromWrite, 3893 pcnetIOPortAPromRead, NULL, NULL, "PC Net ARPOM");3893 pcnetIOPortAPromRead, NULL, NULL, "PCnet APROM"); 3894 3894 if (RT_FAILURE(rc)) 3895 3895 return rc; 3896 3896 rc = PDMDevHlpIOPortRegister(pDevIns, Port + 0x10, 0x10, 0, pcnetIOPortWrite, 3897 pcnetIOPortRead, NULL, NULL, "PC Net");3897 pcnetIOPortRead, NULL, NULL, "PCnet"); 3898 3898 if (RT_FAILURE(rc)) 3899 3899 return rc; … … 3902 3902 { 3903 3903 rc = PDMDevHlpIOPortRegisterRC(pDevIns, Port, 0x10, 0, "pcnetIOPortAPromWrite", 3904 "pcnetIOPortAPromRead", NULL, NULL, "PC Net aprom");3904 "pcnetIOPortAPromRead", NULL, NULL, "PCnet APROM"); 3905 3905 if (RT_FAILURE(rc)) 3906 3906 return rc; 3907 3907 rc = PDMDevHlpIOPortRegisterRC(pDevIns, Port + 0x10, 0x10, 0, "pcnetIOPortWrite", 3908 "pcnetIOPortRead", NULL, NULL, "PC Net");3908 "pcnetIOPortRead", NULL, NULL, "PCnet"); 3909 3909 if (RT_FAILURE(rc)) 3910 3910 return rc; … … 3913 3913 { 3914 3914 rc = PDMDevHlpIOPortRegisterR0(pDevIns, Port, 0x10, 0, "pcnetIOPortAPromWrite", 3915 "pcnetIOPortAPromRead", NULL, NULL, "PC Net aprom");3915 "pcnetIOPortAPromRead", NULL, NULL, "PCnet APROM"); 3916 3916 if (RT_FAILURE(rc)) 3917 3917 return rc; 3918 3918 rc = PDMDevHlpIOPortRegisterR0(pDevIns, Port + 0x10, 0x10, 0, "pcnetIOPortWrite", 3919 "pcnetIOPortRead", NULL, NULL, "PC Net");3919 "pcnetIOPortRead", NULL, NULL, "PCnet"); 3920 3920 if (RT_FAILURE(rc)) 3921 3921 return rc; … … 3943 3943 rc = PDMDevHlpMMIORegister(pDevIns, GCPhysAddress, cb, pThis, 3944 3944 IOMMMIO_FLAGS_READ_PASSTHRU | IOMMMIO_FLAGS_WRITE_PASSTHRU, 3945 pcnetMMIOWrite, pcnetMMIORead, "PC Net");3945 pcnetMMIOWrite, pcnetMMIORead, "PCnet"); 3946 3946 if (RT_FAILURE(rc)) 3947 3947 return rc; … … 4060 4060 (pThis->aCSR[58] & 0x7f) == 0 ? "C-LANCE / PCnet-ISA" 4061 4061 : (pThis->aCSR[58] & 0x7f) == 1 ? "ILACC" 4062 : (pThis->aCSR[58] & 0x7f) == 2 ? "PC Net-PCI II"4063 : (pThis->aCSR[58] & 0x7f) == 3 ? "PC Net-PCI II controller"4062 : (pThis->aCSR[58] & 0x7f) == 2 ? "PCnet-PCI II" 4063 : (pThis->aCSR[58] & 0x7f) == 3 ? "PCnet-PCI II controller" 4064 4064 : "!!reserved!!", 4065 4065 !!(pThis->aCSR[58] & RT_BIT(8)), !!(pThis->aCSR[58] & RT_BIT(9)), !!(pThis->aCSR[58] & RT_BIT(10))); … … 4189 4189 * renegotiate any DHCP lease. 4190 4190 * 4191 * @param pThis The PC Net instance data.4191 * @param pThis The PCnet instance data. 4192 4192 */ 4193 4193 static void pcnetTempLinkDown(PPCNETSTATE pThis) … … 4210 4210 * Saves the configuration. 4211 4211 * 4212 * @param pThis The PC Net instance data.4212 * @param pThis The PCnet instance data. 4213 4213 * @param pSSM The saved state handle. 4214 4214 */ … … 4303 4303 /* older saved states contain the shared memory region which was never used for ages. */ 4304 4304 void *pvSharedMMIOR3; 4305 rc = PDMDevHlpMMIO2Register(pDevIns, &pThis->PciDev, 2, _512K, 0, (void **)&pvSharedMMIOR3, "PC NetSh");4305 rc = PDMDevHlpMMIO2Register(pDevIns, &pThis->PciDev, 2, _512K, 0, (void **)&pvSharedMMIOR3, "PCnetSh"); 4306 4306 if (RT_FAILURE(rc)) 4307 4307 rc = PDMDevHlpVMSetError(pDevIns, rc, RT_SRC_POS, 4308 N_("Failed to allocate the dummy shmem region for the PC Net device"));4308 N_("Failed to allocate the dummy shmem region for the PCnet device")); 4309 4309 pThis->fSharedRegion = true; 4310 4310 } … … 4343 4343 { 4344 4344 /* no longer implemented */ 4345 LogRel(("PC Net#%d: Cannot enablingprivate interface!\n", PCNET_INST_NR));4345 LogRel(("PCnet#%d: Cannot enable private interface!\n", PCNET_INST_NR)); 4346 4346 return VERR_SSM_UNSUPPORTED_DATA_UNIT_VERSION; 4347 4347 } … … 4368 4368 if ( memcmp(&Mac, &pThis->MacConfigured, sizeof(Mac)) 4369 4369 && (uPass == 0 || !PDMDevHlpVMTeleportedAndNotFullyResumedYet(pDevIns)) ) 4370 LogRel(("PC Net#%u: The mac address differs: config=%RTmac saved=%RTmac\n", PCNET_INST_NR, &pThis->MacConfigured, &Mac));4370 LogRel(("PCnet#%u: The mac address differs: config=%RTmac saved=%RTmac\n", PCNET_INST_NR, &pThis->MacConfigured, &Mac)); 4371 4371 4372 4372 bool fAm79C973; … … 4381 4381 if ( pThis->u32LinkSpeed != u32LinkSpeed 4382 4382 && (uPass == 0 || !PDMDevHlpVMTeleportedAndNotFullyResumedYet(pDevIns)) ) 4383 LogRel(("PC Net#%u: The mac link speed differs: config=%u saved=%u\n", PCNET_INST_NR, pThis->u32LinkSpeed, u32LinkSpeed));4383 LogRel(("PCnet#%u: The mac link speed differs: config=%u saved=%u\n", PCNET_INST_NR, pThis->u32LinkSpeed, u32LinkSpeed)); 4384 4384 4385 4385 if (uPass == SSM_PASS_FINAL) … … 4557 4557 { 4558 4558 s_fFirstBigFrameLoss = false; 4559 Log(("PC Net#%d: Received giant frame %zu, max %u. (Further giants will be reported at level5.)\n",4559 Log(("PCnet#%d: Received giant frame %zu, max %u. (Further giants will be reported at level5.)\n", 4560 4560 PCNET_INST_NR, cb, cbMaxFrame)); 4561 4561 } 4562 4562 else 4563 Log5(("PC Net#%d: Received giant frame %zu bytes, max %u.\n",4563 Log5(("PCnet#%d: Received giant frame %zu bytes, max %u.\n", 4564 4564 PCNET_INST_NR, cb, cbMaxFrame)); 4565 4565 } … … 4938 4938 if (pThis->cMsLinkUpDelay > 5000 || pThis->cMsLinkUpDelay < 100) 4939 4939 { 4940 LogRel(("PC Net#%d WARNING! Link up delay is set to %u seconds!\n",4940 LogRel(("PCnet#%d WARNING! Link up delay is set to %u seconds!\n", 4941 4941 iInstance, pThis->cMsLinkUpDelay / 1000)); 4942 4942 } … … 4999 4999 * We use our own critical section (historical reasons). 5000 5000 */ 5001 rc = PDMDevHlpCritSectInit(pDevIns, &pThis->CritSect, RT_SRC_POS, "PC Net#%u", iInstance);5001 rc = PDMDevHlpCritSectInit(pDevIns, &pThis->CritSect, RT_SRC_POS, "PCnet#%u", iInstance); 5002 5002 AssertRCReturn(rc, rc); 5003 5003 rc = PDMDevHlpSetDeviceCritSect(pDevIns, &pThis->CritSect); … … 5033 5033 g_DevicePCNet.szR0Mod, NULL, "pcnetHandleRingWritePf", 5034 5034 g_DevicePCNet.szRCMod, NULL, "pcnetHandleRingWritePf", 5035 "PC Net ring write access handler",5035 "PCnet ring write access handler", 5036 5036 &pThis->hNoPollingHandlerType); 5037 5037 AssertRCReturn(rc, rc); … … 5039 5039 #else 5040 5040 rc = PDMDevHlpTMTimerCreate(pDevIns, TMCLOCK_VIRTUAL, pcnetTimer, pThis, 5041 TMTIMER_FLAGS_NO_CRIT_SECT, "PC Net Poll Timer", &pThis->pTimerPollR3);5041 TMTIMER_FLAGS_NO_CRIT_SECT, "PCnet Poll Timer", &pThis->pTimerPollR3); 5042 5042 if (RT_FAILURE(rc)) 5043 5043 return rc; … … 5050 5050 /* Software Interrupt timer */ 5051 5051 rc = PDMDevHlpTMTimerCreate(pDevIns, TMCLOCK_VIRTUAL, pcnetTimerSoftInt, pThis, /** @todo r=bird: the locking here looks bogus now with SMP... */ 5052 TMTIMER_FLAGS_NO_CRIT_SECT, "PC Net SoftInt Timer", &pThis->pTimerSoftIntR3);5052 TMTIMER_FLAGS_NO_CRIT_SECT, "PCnet SoftInt Timer", &pThis->pTimerSoftIntR3); 5053 5053 if (RT_FAILURE(rc)) 5054 5054 return rc; … … 5058 5058 } 5059 5059 rc = PDMDevHlpTMTimerCreate(pDevIns, TMCLOCK_VIRTUAL, pcnetTimerRestore, pThis, 5060 TMTIMER_FLAGS_NO_CRIT_SECT, "PC Net Restore Timer", &pThis->pTimerRestore);5060 TMTIMER_FLAGS_NO_CRIT_SECT, "PCnet Restore Timer", &pThis->pTimerRestore); 5061 5061 if (RT_FAILURE(rc)) 5062 5062 return rc; … … 5073 5073 */ 5074 5074 rc = PDMDevHlpQueueCreate(pDevIns, sizeof(PDMQUEUEITEMCORE), 1, 0, 5075 pcnetXmitQueueConsumer, true, "PC Net-Xmit", &pThis->pXmitQueueR3);5075 pcnetXmitQueueConsumer, true, "PCnet-Xmit", &pThis->pXmitQueueR3); 5076 5076 if (RT_FAILURE(rc)) 5077 5077 return rc; … … 5083 5083 */ 5084 5084 rc = PDMDevHlpQueueCreate(pDevIns, sizeof(PDMQUEUEITEMCORE), 1, 0, 5085 pcnetCanRxQueueConsumer, true, "PC Net-Rcv", &pThis->pCanRxQueueR3);5085 pcnetCanRxQueueConsumer, true, "PCnet-Rcv", &pThis->pCanRxQueueR3); 5086 5086 if (RT_FAILURE(rc)) 5087 5087 return rc; … … 5144 5144 pcnetR3HardReset(pThis); 5145 5145 5146 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatReceiveBytes, STAMTYPE_COUNTER, STAMVISIBILITY_ALWAYS, STAMUNIT_BYTES, "Amount of data received", "/Public/Net/PC Net%u/BytesReceived", iInstance);5147 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatTransmitBytes, STAMTYPE_COUNTER, STAMVISIBILITY_ALWAYS, STAMUNIT_BYTES, "Amount of data transmitted", "/Public/Net/PC Net%u/BytesTransmitted", iInstance);5148 5149 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatReceiveBytes, STAMTYPE_COUNTER, STAMVISIBILITY_ALWAYS, STAMUNIT_BYTES, "Amount of data received", "/Devices/PC Net%d/ReceiveBytes", iInstance);5150 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatTransmitBytes, STAMTYPE_COUNTER, STAMVISIBILITY_ALWAYS, STAMUNIT_BYTES, "Amount of data transmitted", "/Devices/PC Net%d/TransmitBytes", iInstance);5146 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatReceiveBytes, STAMTYPE_COUNTER, STAMVISIBILITY_ALWAYS, STAMUNIT_BYTES, "Amount of data received", "/Public/Net/PCnet%u/BytesReceived", iInstance); 5147 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatTransmitBytes, STAMTYPE_COUNTER, STAMVISIBILITY_ALWAYS, STAMUNIT_BYTES, "Amount of data transmitted", "/Public/Net/PCnet%u/BytesTransmitted", iInstance); 5148 5149 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatReceiveBytes, STAMTYPE_COUNTER, STAMVISIBILITY_ALWAYS, STAMUNIT_BYTES, "Amount of data received", "/Devices/PCnet%d/ReceiveBytes", iInstance); 5150 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatTransmitBytes, STAMTYPE_COUNTER, STAMVISIBILITY_ALWAYS, STAMUNIT_BYTES, "Amount of data transmitted", "/Devices/PCnet%d/TransmitBytes", iInstance); 5151 5151 5152 5152 #ifdef VBOX_WITH_STATISTICS 5153 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatMMIOReadRZ, STAMTYPE_PROFILE, STAMVISIBILITY_ALWAYS, STAMUNIT_TICKS_PER_CALL, "Profiling MMIO reads in RZ", "/Devices/PC Net%d/MMIO/ReadRZ", iInstance);5154 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatMMIOReadR3, STAMTYPE_PROFILE, STAMVISIBILITY_ALWAYS, STAMUNIT_TICKS_PER_CALL, "Profiling MMIO reads in R3", "/Devices/PC Net%d/MMIO/ReadR3", iInstance);5155 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatMMIOWriteRZ, STAMTYPE_PROFILE, STAMVISIBILITY_ALWAYS, STAMUNIT_TICKS_PER_CALL, "Profiling MMIO writes in RZ", "/Devices/PC Net%d/MMIO/WriteRZ", iInstance);5156 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatMMIOWriteR3, STAMTYPE_PROFILE, STAMVISIBILITY_ALWAYS, STAMUNIT_TICKS_PER_CALL, "Profiling MMIO writes in R3", "/Devices/PC Net%d/MMIO/WriteR3", iInstance);5157 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatAPROMRead, STAMTYPE_PROFILE, STAMVISIBILITY_ALWAYS, STAMUNIT_TICKS_PER_CALL, "Profiling APROM reads", "/Devices/PC Net%d/IO/APROMRead", iInstance);5158 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatAPROMWrite, STAMTYPE_PROFILE, STAMVISIBILITY_ALWAYS, STAMUNIT_TICKS_PER_CALL, "Profiling APROM writes", "/Devices/PC Net%d/IO/APROMWrite", iInstance);5159 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatIOReadRZ, STAMTYPE_PROFILE, STAMVISIBILITY_ALWAYS, STAMUNIT_TICKS_PER_CALL, "Profiling IO reads in RZ", "/Devices/PC Net%d/IO/ReadRZ", iInstance);5160 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatIOReadR3, STAMTYPE_PROFILE, STAMVISIBILITY_ALWAYS, STAMUNIT_TICKS_PER_CALL, "Profiling IO reads in R3", "/Devices/PC Net%d/IO/ReadR3", iInstance);5161 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatIOWriteRZ, STAMTYPE_PROFILE, STAMVISIBILITY_ALWAYS, STAMUNIT_TICKS_PER_CALL, "Profiling IO writes in RZ", "/Devices/PC Net%d/IO/WriteRZ", iInstance);5162 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatIOWriteR3, STAMTYPE_PROFILE, STAMVISIBILITY_ALWAYS, STAMUNIT_TICKS_PER_CALL, "Profiling IO writes in R3", "/Devices/PC Net%d/IO/WriteR3", iInstance);5163 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatTimer, STAMTYPE_PROFILE, STAMVISIBILITY_ALWAYS, STAMUNIT_TICKS_PER_CALL, "Profiling Timer", "/Devices/PC Net%d/Timer", iInstance);5164 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatReceive, STAMTYPE_PROFILE, STAMVISIBILITY_ALWAYS, STAMUNIT_TICKS_PER_CALL, "Profiling receive", "/Devices/PC Net%d/Receive", iInstance);5165 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatRxOverflow, STAMTYPE_PROFILE, STAMVISIBILITY_ALWAYS, STAMUNIT_TICKS_PER_OCCURENCE, "Profiling RX overflows", "/Devices/PC Net%d/RxOverflow", iInstance);5166 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatRxOverflowWakeup, STAMTYPE_PROFILE, STAMVISIBILITY_ALWAYS, STAMUNIT_TICKS_PER_OCCURENCE, "Nr of RX overflow wakeups", "/Devices/PC Net%d/RxOverflowWakeup", iInstance);5167 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatTransmitCase1, STAMTYPE_COUNTER, STAMVISIBILITY_ALWAYS, STAMUNIT_OCCURENCES, "Single descriptor transmit", "/Devices/PC Net%d/Transmit/Case1", iInstance);5168 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatTransmitCase2, STAMTYPE_COUNTER, STAMVISIBILITY_ALWAYS, STAMUNIT_OCCURENCES, "Multi descriptor transmit", "/Devices/PC Net%d/Transmit/Case2", iInstance);5169 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatTransmitRZ, STAMTYPE_PROFILE, STAMVISIBILITY_ALWAYS, STAMUNIT_TICKS_PER_CALL, "Profiling transmits in RZ", "/Devices/PC Net%d/Transmit/TotalRZ", iInstance);5170 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatTransmitR3, STAMTYPE_PROFILE, STAMVISIBILITY_ALWAYS, STAMUNIT_TICKS_PER_CALL, "Profiling transmits in R3", "/Devices/PC Net%d/Transmit/TotalR3", iInstance);5171 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatTransmitSendRZ, STAMTYPE_PROFILE, STAMVISIBILITY_ALWAYS, STAMUNIT_TICKS_PER_CALL, "Profiling PC Net send transmit in RZ","/Devices/PCNet%d/Transmit/SendRZ", iInstance);5172 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatTransmitSendR3, STAMTYPE_PROFILE, STAMVISIBILITY_ALWAYS, STAMUNIT_TICKS_PER_CALL, "Profiling PC Net send transmit in R3","/Devices/PCNet%d/Transmit/SendR3", iInstance);5173 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatTxLenCalcRZ, STAMTYPE_PROFILE, STAMVISIBILITY_ALWAYS, STAMUNIT_TICKS_PER_CALL, "Profiling PC Net TX len calc in RZ", "/Devices/PCNet%d/Transmit/LenCalcRZ", iInstance);5174 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatTxLenCalcR3, STAMTYPE_PROFILE, STAMVISIBILITY_ALWAYS, STAMUNIT_TICKS_PER_CALL, "Profiling PC Net TX len calc in R3", "/Devices/PCNet%d/Transmit/LenCalcR3", iInstance);5175 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatTdtePollRZ, STAMTYPE_PROFILE, STAMVISIBILITY_ALWAYS, STAMUNIT_TICKS_PER_CALL, "Profiling PC Net TdtePoll in RZ", "/Devices/PCNet%d/TdtePollRZ", iInstance);5176 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatTdtePollR3, STAMTYPE_PROFILE, STAMVISIBILITY_ALWAYS, STAMUNIT_TICKS_PER_CALL, "Profiling PC Net TdtePoll in R3", "/Devices/PCNet%d/TdtePollR3", iInstance);5177 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatRdtePollRZ, STAMTYPE_PROFILE, STAMVISIBILITY_ALWAYS, STAMUNIT_TICKS_PER_CALL, "Profiling PC Net RdtePoll in RZ", "/Devices/PCNet%d/RdtePollRZ", iInstance);5178 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatRdtePollR3, STAMTYPE_PROFILE, STAMVISIBILITY_ALWAYS, STAMUNIT_TICKS_PER_CALL, "Profiling PC Net RdtePoll in R3", "/Devices/PCNet%d/RdtePollR3", iInstance);5179 5180 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatTmdStoreRZ, STAMTYPE_PROFILE, STAMVISIBILITY_ALWAYS, STAMUNIT_TICKS_PER_CALL, "Profiling PC Net TmdStore in RZ", "/Devices/PCNet%d/TmdStoreRZ", iInstance);5181 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatTmdStoreR3, STAMTYPE_PROFILE, STAMVISIBILITY_ALWAYS, STAMUNIT_TICKS_PER_CALL, "Profiling PC Net TmdStore in R3", "/Devices/PCNet%d/TmdStoreR3", iInstance);5153 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatMMIOReadRZ, STAMTYPE_PROFILE, STAMVISIBILITY_ALWAYS, STAMUNIT_TICKS_PER_CALL, "Profiling MMIO reads in RZ", "/Devices/PCnet%d/MMIO/ReadRZ", iInstance); 5154 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatMMIOReadR3, STAMTYPE_PROFILE, STAMVISIBILITY_ALWAYS, STAMUNIT_TICKS_PER_CALL, "Profiling MMIO reads in R3", "/Devices/PCnet%d/MMIO/ReadR3", iInstance); 5155 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatMMIOWriteRZ, STAMTYPE_PROFILE, STAMVISIBILITY_ALWAYS, STAMUNIT_TICKS_PER_CALL, "Profiling MMIO writes in RZ", "/Devices/PCnet%d/MMIO/WriteRZ", iInstance); 5156 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatMMIOWriteR3, STAMTYPE_PROFILE, STAMVISIBILITY_ALWAYS, STAMUNIT_TICKS_PER_CALL, "Profiling MMIO writes in R3", "/Devices/PCnet%d/MMIO/WriteR3", iInstance); 5157 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatAPROMRead, STAMTYPE_PROFILE, STAMVISIBILITY_ALWAYS, STAMUNIT_TICKS_PER_CALL, "Profiling APROM reads", "/Devices/PCnet%d/IO/APROMRead", iInstance); 5158 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatAPROMWrite, STAMTYPE_PROFILE, STAMVISIBILITY_ALWAYS, STAMUNIT_TICKS_PER_CALL, "Profiling APROM writes", "/Devices/PCnet%d/IO/APROMWrite", iInstance); 5159 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatIOReadRZ, STAMTYPE_PROFILE, STAMVISIBILITY_ALWAYS, STAMUNIT_TICKS_PER_CALL, "Profiling IO reads in RZ", "/Devices/PCnet%d/IO/ReadRZ", iInstance); 5160 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatIOReadR3, STAMTYPE_PROFILE, STAMVISIBILITY_ALWAYS, STAMUNIT_TICKS_PER_CALL, "Profiling IO reads in R3", "/Devices/PCnet%d/IO/ReadR3", iInstance); 5161 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatIOWriteRZ, STAMTYPE_PROFILE, STAMVISIBILITY_ALWAYS, STAMUNIT_TICKS_PER_CALL, "Profiling IO writes in RZ", "/Devices/PCnet%d/IO/WriteRZ", iInstance); 5162 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatIOWriteR3, STAMTYPE_PROFILE, STAMVISIBILITY_ALWAYS, STAMUNIT_TICKS_PER_CALL, "Profiling IO writes in R3", "/Devices/PCnet%d/IO/WriteR3", iInstance); 5163 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatTimer, STAMTYPE_PROFILE, STAMVISIBILITY_ALWAYS, STAMUNIT_TICKS_PER_CALL, "Profiling Timer", "/Devices/PCnet%d/Timer", iInstance); 5164 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatReceive, STAMTYPE_PROFILE, STAMVISIBILITY_ALWAYS, STAMUNIT_TICKS_PER_CALL, "Profiling receive", "/Devices/PCnet%d/Receive", iInstance); 5165 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatRxOverflow, STAMTYPE_PROFILE, STAMVISIBILITY_ALWAYS, STAMUNIT_TICKS_PER_OCCURENCE, "Profiling RX overflows", "/Devices/PCnet%d/RxOverflow", iInstance); 5166 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatRxOverflowWakeup, STAMTYPE_PROFILE, STAMVISIBILITY_ALWAYS, STAMUNIT_TICKS_PER_OCCURENCE, "Nr of RX overflow wakeups", "/Devices/PCnet%d/RxOverflowWakeup", iInstance); 5167 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatTransmitCase1, STAMTYPE_COUNTER, STAMVISIBILITY_ALWAYS, STAMUNIT_OCCURENCES, "Single descriptor transmit", "/Devices/PCnet%d/Transmit/Case1", iInstance); 5168 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatTransmitCase2, STAMTYPE_COUNTER, STAMVISIBILITY_ALWAYS, STAMUNIT_OCCURENCES, "Multi descriptor transmit", "/Devices/PCnet%d/Transmit/Case2", iInstance); 5169 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatTransmitRZ, STAMTYPE_PROFILE, STAMVISIBILITY_ALWAYS, STAMUNIT_TICKS_PER_CALL, "Profiling transmits in RZ", "/Devices/PCnet%d/Transmit/TotalRZ", iInstance); 5170 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatTransmitR3, STAMTYPE_PROFILE, STAMVISIBILITY_ALWAYS, STAMUNIT_TICKS_PER_CALL, "Profiling transmits in R3", "/Devices/PCnet%d/Transmit/TotalR3", iInstance); 5171 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatTransmitSendRZ, STAMTYPE_PROFILE, STAMVISIBILITY_ALWAYS, STAMUNIT_TICKS_PER_CALL, "Profiling PCnet send transmit in RZ","/Devices/PCnet%d/Transmit/SendRZ", iInstance); 5172 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatTransmitSendR3, STAMTYPE_PROFILE, STAMVISIBILITY_ALWAYS, STAMUNIT_TICKS_PER_CALL, "Profiling PCnet send transmit in R3","/Devices/PCnet%d/Transmit/SendR3", iInstance); 5173 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatTxLenCalcRZ, STAMTYPE_PROFILE, STAMVISIBILITY_ALWAYS, STAMUNIT_TICKS_PER_CALL, "Profiling PCnet TX len calc in RZ", "/Devices/PCnet%d/Transmit/LenCalcRZ", iInstance); 5174 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatTxLenCalcR3, STAMTYPE_PROFILE, STAMVISIBILITY_ALWAYS, STAMUNIT_TICKS_PER_CALL, "Profiling PCnet TX len calc in R3", "/Devices/PCnet%d/Transmit/LenCalcR3", iInstance); 5175 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatTdtePollRZ, STAMTYPE_PROFILE, STAMVISIBILITY_ALWAYS, STAMUNIT_TICKS_PER_CALL, "Profiling PCnet TdtePoll in RZ", "/Devices/PCnet%d/TdtePollRZ", iInstance); 5176 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatTdtePollR3, STAMTYPE_PROFILE, STAMVISIBILITY_ALWAYS, STAMUNIT_TICKS_PER_CALL, "Profiling PCnet TdtePoll in R3", "/Devices/PCnet%d/TdtePollR3", iInstance); 5177 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatRdtePollRZ, STAMTYPE_PROFILE, STAMVISIBILITY_ALWAYS, STAMUNIT_TICKS_PER_CALL, "Profiling PCnet RdtePoll in RZ", "/Devices/PCnet%d/RdtePollRZ", iInstance); 5178 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatRdtePollR3, STAMTYPE_PROFILE, STAMVISIBILITY_ALWAYS, STAMUNIT_TICKS_PER_CALL, "Profiling PCnet RdtePoll in R3", "/Devices/PCnet%d/RdtePollR3", iInstance); 5179 5180 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatTmdStoreRZ, STAMTYPE_PROFILE, STAMVISIBILITY_ALWAYS, STAMUNIT_TICKS_PER_CALL, "Profiling PCnet TmdStore in RZ", "/Devices/PCnet%d/TmdStoreRZ", iInstance); 5181 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatTmdStoreR3, STAMTYPE_PROFILE, STAMVISIBILITY_ALWAYS, STAMUNIT_TICKS_PER_CALL, "Profiling PCnet TmdStore in R3", "/Devices/PCnet%d/TmdStoreR3", iInstance); 5182 5182 5183 5183 unsigned i; 5184 5184 for (i = 0; i < RT_ELEMENTS(pThis->aStatXmitFlush) - 1; i++) 5185 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->aStatXmitFlush[i], STAMTYPE_COUNTER, STAMVISIBILITY_USED, STAMUNIT_OCCURENCES, "", "/Devices/PC Net%d/XmitFlushIrq/%d", iInstance, i + 1);5186 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->aStatXmitFlush[i], STAMTYPE_COUNTER, STAMVISIBILITY_USED, STAMUNIT_OCCURENCES, "", "/Devices/PC Net%d/XmitFlushIrq/%d+", iInstance, i + 1);5185 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->aStatXmitFlush[i], STAMTYPE_COUNTER, STAMVISIBILITY_USED, STAMUNIT_OCCURENCES, "", "/Devices/PCnet%d/XmitFlushIrq/%d", iInstance, i + 1); 5186 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->aStatXmitFlush[i], STAMTYPE_COUNTER, STAMVISIBILITY_USED, STAMUNIT_OCCURENCES, "", "/Devices/PCnet%d/XmitFlushIrq/%d+", iInstance, i + 1); 5187 5187 5188 5188 for (i = 0; i < RT_ELEMENTS(pThis->aStatXmitChainCounts) - 1; i++) 5189 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->aStatXmitChainCounts[i], STAMTYPE_COUNTER, STAMVISIBILITY_USED, STAMUNIT_OCCURENCES, "", "/Devices/PC Net%d/XmitChainCounts/%d", iInstance, i + 1);5190 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->aStatXmitChainCounts[i], STAMTYPE_COUNTER, STAMVISIBILITY_USED, STAMUNIT_OCCURENCES, "", "/Devices/PC Net%d/XmitChainCounts/%d+", iInstance, i + 1);5191 5192 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatXmitSkipCurrent, STAMTYPE_COUNTER, STAMVISIBILITY_ALWAYS, STAMUNIT_OCCURENCES, "", "/Devices/PC Net%d/Xmit/Skipped", iInstance);5193 5194 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatInterrupt, STAMTYPE_PROFILE, STAMVISIBILITY_ALWAYS, STAMUNIT_TICKS_PER_CALL, "Profiling interrupt checks", "/Devices/PC Net%d/UpdateIRQ", iInstance);5195 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatPollTimer, STAMTYPE_PROFILE, STAMVISIBILITY_ALWAYS, STAMUNIT_TICKS_PER_CALL, "Profiling poll timer", "/Devices/PC Net%d/PollTimer", iInstance);5196 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatMIIReads, STAMTYPE_COUNTER, STAMVISIBILITY_ALWAYS, STAMUNIT_OCCURENCES, "Number of MII reads", "/Devices/PC Net%d/MIIReads", iInstance);5189 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->aStatXmitChainCounts[i], STAMTYPE_COUNTER, STAMVISIBILITY_USED, STAMUNIT_OCCURENCES, "", "/Devices/PCnet%d/XmitChainCounts/%d", iInstance, i + 1); 5190 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->aStatXmitChainCounts[i], STAMTYPE_COUNTER, STAMVISIBILITY_USED, STAMUNIT_OCCURENCES, "", "/Devices/PCnet%d/XmitChainCounts/%d+", iInstance, i + 1); 5191 5192 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatXmitSkipCurrent, STAMTYPE_COUNTER, STAMVISIBILITY_ALWAYS, STAMUNIT_OCCURENCES, "", "/Devices/PCnet%d/Xmit/Skipped", iInstance); 5193 5194 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatInterrupt, STAMTYPE_PROFILE, STAMVISIBILITY_ALWAYS, STAMUNIT_TICKS_PER_CALL, "Profiling interrupt checks", "/Devices/PCnet%d/UpdateIRQ", iInstance); 5195 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatPollTimer, STAMTYPE_PROFILE, STAMVISIBILITY_ALWAYS, STAMUNIT_TICKS_PER_CALL, "Profiling poll timer", "/Devices/PCnet%d/PollTimer", iInstance); 5196 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatMIIReads, STAMTYPE_COUNTER, STAMVISIBILITY_ALWAYS, STAMUNIT_OCCURENCES, "Number of MII reads", "/Devices/PCnet%d/MIIReads", iInstance); 5197 5197 # ifdef PCNET_NO_POLLING 5198 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatRCVRingWrite, STAMTYPE_COUNTER, STAMVISIBILITY_ALWAYS, STAMUNIT_OCCURENCES, "Nr of receive ring writes", "/Devices/PC Net%d/Ring/RCVWrites", iInstance);5199 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatTXRingWrite, STAMTYPE_COUNTER, STAMVISIBILITY_ALWAYS, STAMUNIT_OCCURENCES, "Nr of transmit ring writes", "/Devices/PC Net%d/Ring/TXWrites", iInstance);5200 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatRingWriteR3, STAMTYPE_COUNTER, STAMVISIBILITY_ALWAYS, STAMUNIT_OCCURENCES, "Nr of monitored ring page writes", "/Devices/PC Net%d/Ring/R3/Writes", iInstance);5201 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatRingWriteR0, STAMTYPE_COUNTER, STAMVISIBILITY_ALWAYS, STAMUNIT_OCCURENCES, "Nr of monitored ring page writes", "/Devices/PC Net%d/Ring/R0/Writes", iInstance);5202 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatRingWriteRC, STAMTYPE_COUNTER, STAMVISIBILITY_ALWAYS, STAMUNIT_OCCURENCES, "Nr of monitored ring page writes", "/Devices/PC Net%d/Ring/RC/Writes", iInstance);5203 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatRingWriteFailedR3, STAMTYPE_COUNTER, STAMVISIBILITY_ALWAYS, STAMUNIT_OCCURENCES, "Nr of failed ring page writes", "/Devices/PC Net%d/Ring/R3/Failed", iInstance);5204 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatRingWriteFailedR0, STAMTYPE_COUNTER, STAMVISIBILITY_ALWAYS, STAMUNIT_OCCURENCES, "Nr of failed ring page writes", "/Devices/PC Net%d/Ring/R0/Failed", iInstance);5205 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatRingWriteFailedRC, STAMTYPE_COUNTER, STAMVISIBILITY_ALWAYS, STAMUNIT_OCCURENCES, "Nr of failed ring page writes", "/Devices/PC Net%d/Ring/RC/Failed", iInstance);5206 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatRingWriteOutsideR3, STAMTYPE_COUNTER, STAMVISIBILITY_ALWAYS, STAMUNIT_OCCURENCES, "Nr of monitored writes outside ring","/Devices/PC Net%d/Ring/R3/Outside", iInstance);5207 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatRingWriteOutsideR0, STAMTYPE_COUNTER, STAMVISIBILITY_ALWAYS, STAMUNIT_OCCURENCES, "Nr of monitored writes outside ring","/Devices/PC Net%d/Ring/R0/Outside", iInstance);5208 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatRingWriteOutsideRC, STAMTYPE_COUNTER, STAMVISIBILITY_ALWAYS, STAMUNIT_OCCURENCES, "Nr of monitored writes outside ring","/Devices/PC Net%d/Ring/RC/Outside", iInstance);5198 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatRCVRingWrite, STAMTYPE_COUNTER, STAMVISIBILITY_ALWAYS, STAMUNIT_OCCURENCES, "Nr of receive ring writes", "/Devices/PCnet%d/Ring/RCVWrites", iInstance); 5199 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatTXRingWrite, STAMTYPE_COUNTER, STAMVISIBILITY_ALWAYS, STAMUNIT_OCCURENCES, "Nr of transmit ring writes", "/Devices/PCnet%d/Ring/TXWrites", iInstance); 5200 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatRingWriteR3, STAMTYPE_COUNTER, STAMVISIBILITY_ALWAYS, STAMUNIT_OCCURENCES, "Nr of monitored ring page writes", "/Devices/PCnet%d/Ring/R3/Writes", iInstance); 5201 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatRingWriteR0, STAMTYPE_COUNTER, STAMVISIBILITY_ALWAYS, STAMUNIT_OCCURENCES, "Nr of monitored ring page writes", "/Devices/PCnet%d/Ring/R0/Writes", iInstance); 5202 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatRingWriteRC, STAMTYPE_COUNTER, STAMVISIBILITY_ALWAYS, STAMUNIT_OCCURENCES, "Nr of monitored ring page writes", "/Devices/PCnet%d/Ring/RC/Writes", iInstance); 5203 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatRingWriteFailedR3, STAMTYPE_COUNTER, STAMVISIBILITY_ALWAYS, STAMUNIT_OCCURENCES, "Nr of failed ring page writes", "/Devices/PCnet%d/Ring/R3/Failed", iInstance); 5204 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatRingWriteFailedR0, STAMTYPE_COUNTER, STAMVISIBILITY_ALWAYS, STAMUNIT_OCCURENCES, "Nr of failed ring page writes", "/Devices/PCnet%d/Ring/R0/Failed", iInstance); 5205 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatRingWriteFailedRC, STAMTYPE_COUNTER, STAMVISIBILITY_ALWAYS, STAMUNIT_OCCURENCES, "Nr of failed ring page writes", "/Devices/PCnet%d/Ring/RC/Failed", iInstance); 5206 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatRingWriteOutsideR3, STAMTYPE_COUNTER, STAMVISIBILITY_ALWAYS, STAMUNIT_OCCURENCES, "Nr of monitored writes outside ring","/Devices/PCnet%d/Ring/R3/Outside", iInstance); 5207 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatRingWriteOutsideR0, STAMTYPE_COUNTER, STAMVISIBILITY_ALWAYS, STAMUNIT_OCCURENCES, "Nr of monitored writes outside ring","/Devices/PCnet%d/Ring/R0/Outside", iInstance); 5208 PDMDevHlpSTAMRegisterF(pDevIns, &pThis->StatRingWriteOutsideRC, STAMTYPE_COUNTER, STAMVISIBILITY_ALWAYS, STAMUNIT_OCCURENCES, "Nr of monitored writes outside ring","/Devices/PCnet%d/Ring/RC/Outside", iInstance); 5209 5209 # endif /* PCNET_NO_POLLING */ 5210 5210 #endif /* VBOX_WITH_STATISTICS */
Note:
See TracChangeset
for help on using the changeset viewer.