VirtualBox

Changeset 44719 in vbox


Ignore:
Timestamp:
Feb 15, 2013 4:05:51 PM (12 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
83819
Message:

BusLogic: More verbose debug info.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Storage/DevBusLogic.cpp

    r44718 r44719  
    33653365{
    33663366    PBUSLOGIC   pThis = PDMINS_2_DATA(pDevIns, PBUSLOGIC);
     3367    unsigned    i;
    33673368    bool        fVerbose = false;
    33683369
     
    33953396    if (pThis->uOperationCode != 0xff )
    33963397        pHlp->pfnPrintf(pHlp, "Current command: %02X\n", pThis->uOperationCode);
     3398
     3399    if (fVerbose && (pThis->regStatus & BUSLOGIC_REGISTER_STATUS_INITIALIZATION_REQUIRED) == 0)
     3400    {
     3401        RTGCPHYS    GCMailbox;
     3402
     3403        /* Dump the mailbox contents. */
     3404        if (pThis->fMbxIs24Bit)
     3405        {
     3406            Mailbox24   Mbx24;
     3407
     3408            /* Outgoing mailbox, 24-bit format. */
     3409            GCMailbox = pThis->GCPhysAddrMailboxOutgoingBase;
     3410            pHlp->pfnPrintf(pHlp, " Outgoing mailbox entries (24-bit) at %06X:\n", GCMailbox);
     3411            for (i = 0; i < pThis->cMailbox; ++i)
     3412            {
     3413                PDMDevHlpPhysRead(pThis->CTX_SUFF(pDevIns), GCMailbox, &Mbx24, sizeof(Mailbox24));
     3414                pHlp->pfnPrintf(pHlp, "  slot %03d: CCB at %06X action code %02X", i, ADDR_TO_U32(Mbx24.aPhysAddrCCB), Mbx24.uCmdState);
     3415                pHlp->pfnPrintf(pHlp, "%s\n", pThis->uMailboxOutgoingPositionCurrent == i ? " *" : "");
     3416                GCMailbox += sizeof(Mailbox24);
     3417            }
     3418
     3419            /* Incoming mailbox, 24-bit format. */
     3420            GCMailbox = pThis->GCPhysAddrMailboxOutgoingBase + (pThis->cMailbox * sizeof(Mailbox24));
     3421            pHlp->pfnPrintf(pHlp, " Incoming mailbox entries (24-bit) at %06X:\n", GCMailbox);
     3422            for (i = 0; i < pThis->cMailbox; ++i)
     3423            {
     3424                PDMDevHlpPhysRead(pThis->CTX_SUFF(pDevIns), GCMailbox, &Mbx24, sizeof(Mailbox24));
     3425                pHlp->pfnPrintf(pHlp, "  slot %03d: CCB at %06X completion code %02X", i, ADDR_TO_U32(Mbx24.aPhysAddrCCB), Mbx24.uCmdState);
     3426                pHlp->pfnPrintf(pHlp, "%s\n", pThis->uMailboxIncomingPositionCurrent == i ? " *" : "");
     3427                GCMailbox += sizeof(Mailbox24);
     3428            }
     3429
     3430        }
     3431        else
     3432        {
     3433            Mailbox32   Mbx32;
     3434
     3435            /* Outgoing mailbox, 32-bit format. */
     3436            GCMailbox = pThis->GCPhysAddrMailboxOutgoingBase;
     3437            pHlp->pfnPrintf(pHlp, " Outgoing mailbox entries (32-bit) at %08X:\n", (uint32_t)GCMailbox);
     3438            for (i = 0; i < pThis->cMailbox; ++i)
     3439            {
     3440                PDMDevHlpPhysRead(pThis->CTX_SUFF(pDevIns), GCMailbox, &Mbx32, sizeof(Mailbox32));
     3441                pHlp->pfnPrintf(pHlp, "  slot %03d: CCB at %08X action code %02X", i, Mbx32.u32PhysAddrCCB, Mbx32.u.out.uActionCode);
     3442                pHlp->pfnPrintf(pHlp, "%s\n", pThis->uMailboxOutgoingPositionCurrent == i ? " *" : "");
     3443                GCMailbox += sizeof(Mailbox32);
     3444            }
     3445
     3446            /* Incoming mailbox, 32-bit format. */
     3447            GCMailbox = pThis->GCPhysAddrMailboxOutgoingBase;
     3448            pHlp->pfnPrintf(pHlp, " Outgoing mailbox entries (32-bit) at %08X:\n", (uint32_t)GCMailbox);
     3449            for (i = 0; i < pThis->cMailbox; ++i)
     3450            {
     3451                PDMDevHlpPhysRead(pThis->CTX_SUFF(pDevIns), GCMailbox, &Mbx32, sizeof(Mailbox32));
     3452                pHlp->pfnPrintf(pHlp, "  slot %03d: CCB at %08X completion code %02X BTSTAT %02X SDSTAT %02X", i,
     3453                                Mbx32.u32PhysAddrCCB, Mbx32.u.in.uCompletionCode, Mbx32.u.in.uHostAdapterStatus, Mbx32.u.in.uTargetDeviceStatus);
     3454                pHlp->pfnPrintf(pHlp, "%s\n", pThis->uMailboxOutgoingPositionCurrent == i ? " *" : "");
     3455                GCMailbox += sizeof(Mailbox32);
     3456            }
     3457
     3458        }
     3459    }
    33973460}
    33983461
Note: See TracChangeset for help on using the changeset viewer.

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