VirtualBox

Changeset 93204 in vbox


Ignore:
Timestamp:
Jan 12, 2022 6:37:23 PM (3 years ago)
Author:
vboxsync
Message:

VMM/EM: Some debug stepping hacks.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR3/EM.cpp

    r93115 r93204  
    505505            case EMEXECPOLICY_IEM_ALL:
    506506                pVM->em.s.fIemExecutesAll = pArgs->fEnforce;
     507
     508                /* For making '.alliem 1' useful during debugging, transition the
     509                   EMSTATE_DEBUG_GUEST_XXX to EMSTATE_DEBUG_GUEST_IEM.  */
     510                for (VMCPUID i = 0; i < pVM->cCpus; i++)
     511                {
     512                    PVMCPU pVCpuX = pVM->apCpusR3[i];
     513                    switch (pVCpuX->em.s.enmState)
     514                    {
     515                        case EMSTATE_DEBUG_GUEST_RAW:
     516                        case EMSTATE_DEBUG_GUEST_HM:
     517                        case EMSTATE_DEBUG_GUEST_NEM:
     518                        case EMSTATE_DEBUG_GUEST_REM:
     519                            Log(("EM: idCpu=%u: %s -> EMSTATE_DEBUG_GUEST_IEM\n", i, emR3GetStateName(pVCpuX->em.s.enmState) ));
     520                            pVCpuX->em.s.enmState = EMSTATE_DEBUG_GUEST_IEM;
     521                            break;
     522                        case EMSTATE_DEBUG_GUEST_IEM:
     523                        default:
     524                            break;
     525                    }
     526                }
    507527                break;
    508528            default:
     
    16741694            CPUM_IMPORT_EXTRN_RCSTRICT(pVCpu, ~CPUMCTX_EXTRN_KEEPER_MASK, rc);
    16751695            rc2 = DBGFR3VMMForcedAction(pVM, pVCpu);
    1676             UPDATE_RC();
     1696            /** @todo why that VINF_EM_DBG_EVENT here? Duplicate info, should be handled
     1697             *        somewhere before we get here, I would think. */
     1698            if (rc == VINF_EM_DBG_EVENT) /* HACK! We should've handled pending debug event. */
     1699                rc = rc2;
     1700            else
     1701                UPDATE_RC();
    16771702        }
    16781703
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