VirtualBox

Changeset 78458 in vbox


Ignore:
Timestamp:
May 9, 2019 3:38:49 PM (5 years ago)
Author:
vboxsync
Message:

PCnet: Warn when guest sets up a misaligned descriptor ring.

File:
1 edited

Legend:

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

    r78270 r78458  
    16041604    CSR_CXST(pThis) = CSR_CXBC(pThis) = CSR_NXST(pThis) = CSR_NXBC(pThis) = 0;
    16051605
    1606     LogRel(("PCnet#%d: Init: ss32=%d GCRDRA=%#010x[%d] GCTDRA=%#010x[%d]%s\n",
    1607             PCNET_INST_NR, BCR_SSIZE32(pThis),
     1606    LogRel(("PCnet#%d: Init: SWSTYLE=%d GCRDRA=%#010x[%d] GCTDRA=%#010x[%d]%s\n",
     1607            PCNET_INST_NR, BCR_SWSTYLE(pThis),
    16081608            pThis->GCRDRA, CSR_RCVRL(pThis), pThis->GCTDRA, CSR_XMTRL(pThis),
    16091609            !pThis->fSignalRxMiss ? " (CSR0_MISS disabled)" : ""));
     1610
     1611    if (pThis->GCRDRA & (pThis->iLog2DescSize - 1))
     1612        LogRel(("PCnet#%d: Warning: Misaligned RDRA\n", PCNET_INST_NR));
     1613    if (pThis->GCTDRA & (pThis->iLog2DescSize - 1))
     1614        LogRel(("PCnet#%d: Warning: Misaligned TDRA\n", PCNET_INST_NR));
    16101615
    16111616    pThis->aCSR[0] |=  0x0101;       /* Initialization done */
     
    30333038                pThis->GCRDRA = (pThis->GCRDRA & 0x0000ffff) | ((val & 0x0000ffff) << 16);
    30343039            Log(("#%d: WRITE CSR%d, %#06x => GCRDRA=%08x (alt init)\n", PCNET_INST_NR, u32RAP, val, pThis->GCRDRA));
     3040            if (pThis->GCRDRA & (pThis->iLog2DescSize - 1))
     3041                LogRel(("PCnet#%d: Warning: Misaligned RDRA (GCRDRA=%#010x)\n", PCNET_INST_NR, pThis->GCRDRA));
    30353042            break;
    30363043
     
    30513058                pThis->GCTDRA = (pThis->GCTDRA & 0x0000ffff) | ((val & 0x0000ffff) << 16);
    30523059            Log(("#%d: WRITE CSR%d, %#06x => GCTDRA=%08x (alt init)\n", PCNET_INST_NR, u32RAP, val, pThis->GCTDRA));
     3060            if (pThis->GCTDRA & (pThis->iLog2DescSize - 1))
     3061                LogRel(("PCnet#%d: Warning: Misaligned TDRA (GCTDRA=%#010x)\n", PCNET_INST_NR, pThis->GCTDRA));
    30533062            break;
    30543063
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