VirtualBox

Changeset 92542 in vbox for trunk/src/VBox/VMM/VMMR3


Ignore:
Timestamp:
Nov 22, 2021 10:25:24 AM (3 years ago)
Author:
vboxsync
Message:

VMM/NEM-linux: nicer main loop w/o continue. bugref:9044

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR3/NEMR3Native-linux.cpp

    r92525 r92542  
    25272527                if (   !VM_FF_IS_ANY_SET(   pVM,   !fSingleStepping ? VM_FF_HP_R0_PRE_HM_MASK    : VM_FF_HP_R0_PRE_HM_STEP_MASK)
    25282528                    && !VMCPU_FF_IS_ANY_SET(pVCpu, !fSingleStepping ? VMCPU_FF_HP_R0_PRE_HM_MASK : VMCPU_FF_HP_R0_PRE_HM_STEP_MASK) )
    2529                     continue;
    2530 
    2531                 /** @todo Try handle pending flags, not just return to EM loops.  Take care
    2532                  *        not to set important RCs here unless we've handled an exit. */
    2533                 LogFlow(("NEM/%u: breaking: pending FF (%#x / %#RX64)\n",
    2534                          pVCpu->idCpu, pVM->fGlobalForcedActions, (uint64_t)pVCpu->fLocalForcedActions));
    2535                 STAM_REL_COUNTER_INC(&pVCpu->nem.s.StatBreakOnFFPost);
     2529                { /* likely */ }
     2530                else
     2531                {
     2532
     2533                    /** @todo Try handle pending flags, not just return to EM loops.  Take care
     2534                     *        not to set important RCs here unless we've handled an exit. */
     2535                    LogFlow(("NEM/%u: breaking: pending FF (%#x / %#RX64)\n",
     2536                             pVCpu->idCpu, pVM->fGlobalForcedActions, (uint64_t)pVCpu->fLocalForcedActions));
     2537                    STAM_REL_COUNTER_INC(&pVCpu->nem.s.StatBreakOnFFPost);
     2538                    break;
     2539                }
    25362540            }
    25372541            else
     
    25392543                LogFlow(("NEM/%u: breaking: canceled %d (pre exec)\n", pVCpu->idCpu, VMCPU_GET_STATE(pVCpu) ));
    25402544                STAM_REL_COUNTER_INC(&pVCpu->nem.s.StatBreakOnCancel);
     2545                break;
    25412546            }
    25422547        }
     
    25452550            LogFlow(("NEM/%u: breaking: pending FF (pre exec)\n", pVCpu->idCpu));
    25462551            STAM_REL_COUNTER_INC(&pVCpu->nem.s.StatBreakOnFFPre);
    2547         }
    2548         break;
     2552            break;
     2553        }
    25492554    } /* the run loop */
    25502555
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