VirtualBox

Changeset 107841 in vbox for trunk/src/VBox/Devices


Ignore:
Timestamp:
Jan 17, 2025 10:37:57 AM (3 weeks ago)
Author:
vboxsync
Message:

DevDP8390: Dump receive buffer, more intelligent transmit buffer dumping.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Network/DevDP8390.cpp

    r107677 r107841  
    40044004{
    40054005    PDPNICSTATE     pThis = PDMDEVINS_2_DATA(pDevIns, PDPNICSTATE);
    4006     /*bool            fRecvBuffer  = false; unused*/
     4006    bool            fRecvBuffer  = false;
    40074007    bool            fSendBuffer  = false;
    40084008    unsigned        uFreePages;
     
    40154015    if (pszArgs)
    40164016    {
    4017         /*fRecvBuffer  = strstr(pszArgs, "verbose") || strstr(pszArgs, "recvbuf"); unused*/
     4017        fRecvBuffer  = strstr(pszArgs, "verbose") || strstr(pszArgs, "recvbuf");
    40184018        fSendBuffer  = strstr(pszArgs, "verbose") || strstr(pszArgs, "sendbuf");
    40194019    }
     
    42094209    }
    42104210
    4211     /* Dump the beginning of the send buffer. */
     4211    /* Dump the beginning of the send buffer (before it is sent). */
     4212    uint8_t dump_buf[16];
     4213    unsigned dump_beg, dump_end;
    42124214    if (fSendBuffer)
    42134215    {
    4214         pHlp->pfnPrintf(pHlp, "Send buffer (start at %u):\n", 0);
    4215         unsigned dump_end = RT_MIN(0 + 64, sizeof(pThis->abLocalRAM) - 16);
    4216         for (unsigned ofs = 0; ofs < dump_end; ofs += 16)
    4217             pHlp->pfnPrintf(pHlp, "  %04X: %Rhxs\n", ofs, &pThis->abLocalRAM[ofs]);
     4216        dump_beg = RT_MAKE_U16(0, pThis->core.TPSR);
     4217        pHlp->pfnPrintf(pHlp, "Send buffer (start at %u based on TPSR):\n", dump_beg);
     4218        dump_end = RT_MIN(dump_beg + 64, 64 * _1K - 16);
     4219        for (unsigned ofs = dump_beg; ofs < dump_end; ofs += 16)
     4220        {
     4221            dpLocalRAMReadBuf(pThis, ofs, sizeof(dump_buf), dump_buf);
     4222            pHlp->pfnPrintf(pHlp, "  %04X: %Rhxs\n", ofs, dump_buf);
     4223        }
     4224    }
     4225
     4226    /* Dump the beginning of the receive buffer (before it is read). */
     4227    if (fRecvBuffer)
     4228    {
     4229        dump_beg = pThis->core.CRDA;
     4230        pHlp->pfnPrintf(pHlp, "Recv buffer (start at %u based on CRDA):\n", dump_beg);
     4231        dump_end = RT_MIN(dump_beg + 64, 64 * _1K - 16);
     4232        for (unsigned ofs = dump_beg; ofs < dump_end; ofs += 16)
     4233        {
     4234            dpLocalRAMReadBuf(pThis, ofs, sizeof(dump_buf), dump_buf);
     4235            pHlp->pfnPrintf(pHlp, "  %04X: %Rhxs\n", ofs, dump_buf);
     4236        }
    42184237    }
    42194238
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette