VirtualBox

Changeset 70948 in vbox for trunk/src/recompiler


Ignore:
Timestamp:
Feb 10, 2018 3:38:12 PM (7 years ago)
Author:
vboxsync
Message:

VMM: Added a bMainExecutionEngine member to the VM structure for use instead of fHMEnabled and fNEMEnabled. Changed a lot of HMIsEnabled invocations to use the new macros VM_IS_RAW_MODE_ENABLED and VM_IS_HM_OR_NEM_ENABLED. Eliminated fHMEnabledFixed. Fixed inverted test for raw-mode debug register sanity checking. Some other minor cleanups.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/recompiler/VBoxRecompiler.c

    r69500 r70948  
    943943     * CPU_RAW_HM makes sure we never execute interrupt handlers in the recompiler.
    944944     */
    945     if (HMIsEnabled(pVM))
     945    if (!VM_IS_RAW_MODE_ENABLED(pVM))
    946946        pVM->rem.s.Env.state |= CPU_RAW_HM;
    947947
     
    14231423        return false;
    14241424
    1425     if (HMIsEnabled(env->pVM))
     1425    if (!VM_IS_RAW_MODE_ENABLED(env->pVM))
    14261426    {
    14271427#ifdef RT_OS_WINDOWS
     
    14311431        PCPUMCTX pCtx = &Ctx;
    14321432#endif
     1433        /** @todo NEM: scheduling.   */
    14331434
    14341435        env->state |= CPU_RAW_HM;
     
    17881789    pCtx->cr3 = env->cr[3];
    17891790#ifdef VBOX_WITH_RAW_MODE
    1790     if (((env->cr[4] ^ pCtx->cr4) & X86_CR4_VME) && !HMIsEnabled(pVM))
     1791    if (((env->cr[4] ^ pCtx->cr4) & X86_CR4_VME) && VM_IS_RAW_MODE_ENABLED(pVM))
    17911792        VMCPU_FF_SET(env->pVCpu, VMCPU_FF_SELM_SYNC_TSS);
    17921793#endif
     
    18491850        &&   (((env->hflags >> HF_CPL_SHIFT) & 3) == 0)     /* supervisor mode only */
    18501851        &&  !(env->eflags & VM_MASK)                        /* no V86 mode */
    1851         &&  !HMIsEnabled(env->pVM))
     1852        &&  VM_IS_RAW_MODE_ENABLED(env->pVM))
    18521853        CSAMR3MonitorPage(env->pVM, GCPtr, CSAM_TAG_REM);
    18531854#endif
     
    18691870        &&   (((env->hflags >> HF_CPL_SHIFT) & 3) == 0)     /* supervisor mode only */
    18701871        &&  !(env->eflags & VM_MASK)                        /* no V86 mode */
    1871         &&  !HMIsEnabled(env->pVM))
     1872        &&  VM_IS_RAW_MODE_ENABLED(env->pVM))
    18721873        CSAMR3UnmonitorPage(env->pVM, GCPtr, CSAM_TAG_REM);
    18731874#endif
     
    19111912    pCtx->cr3 = env->cr[3];
    19121913#ifdef VBOX_WITH_RAW_MODE
    1913     if (((env->cr[4] ^ pCtx->cr4) & X86_CR4_VME) && !HMIsEnabled(pVM))
     1914    if (((env->cr[4] ^ pCtx->cr4) & X86_CR4_VME) && VM_IS_RAW_MODE_ENABLED(pVM))
    19141915        VMCPU_FF_SET(env->pVCpu, VMCPU_FF_SELM_SYNC_TSS);
    19151916#endif
     
    19601961    pCtx->cr3 = env->cr[3];
    19611962#ifdef VBOX_WITH_RAW_MODE
    1962     if (((env->cr[4] ^ pCtx->cr4) & X86_CR4_VME) && !HMIsEnabled(pVM))
     1963    if (((env->cr[4] ^ pCtx->cr4) & X86_CR4_VME) && VM_IS_RAW_MODE_ENABLED(pVM))
    19631964        VMCPU_FF_SET(env->pVCpu, VMCPU_FF_SELM_SYNC_TSS);
    19641965#endif
     
    26642665    pCtx->cr3           = pVM->rem.s.Env.cr[3];
    26652666#ifdef VBOX_WITH_RAW_MODE
    2666     if (((pVM->rem.s.Env.cr[4] ^ pCtx->cr4) & X86_CR4_VME) && !HMIsEnabled(pVM))
     2667    if (((pVM->rem.s.Env.cr[4] ^ pCtx->cr4) & X86_CR4_VME) && VM_IS_RAW_MODE_ENABLED(pVM))
    26672668        VMCPU_FF_SET(pVCpu, VMCPU_FF_SELM_SYNC_TSS);
    26682669#endif
     
    26782679        STAM_COUNTER_INC(&gStatREMGDTChange);
    26792680#ifdef VBOX_WITH_RAW_MODE
    2680         if (!HMIsEnabled(pVM))
     2681        if (VM_IS_RAW_MODE_ENABLED(pVM))
    26812682            VMCPU_FF_SET(pVCpu, VMCPU_FF_SELM_SYNC_GDT);
    26822683#endif
     
    26892690        STAM_COUNTER_INC(&gStatREMIDTChange);
    26902691#ifdef VBOX_WITH_RAW_MODE
    2691         if (!HMIsEnabled(pVM))
     2692        if (VM_IS_RAW_MODE_ENABLED(pVM))
    26922693            VMCPU_FF_SET(pVCpu, VMCPU_FF_TRPM_SYNC_IDT);
    26932694#endif
     
    27102711        STAM_COUNTER_INC(&gStatREMLDTRChange);
    27112712#ifdef VBOX_WITH_RAW_MODE
    2712         if (!HMIsEnabled(pVM))
     2713        if (VM_IS_RAW_MODE_ENABLED(pVM))
    27132714            VMCPU_FF_SET(pVCpu, VMCPU_FF_SELM_SYNC_LDT);
    27142715#endif
     
    27362737        STAM_COUNTER_INC(&gStatREMTRChange);
    27372738#ifdef VBOX_WITH_RAW_MODE
    2738         if (!HMIsEnabled(pVM))
     2739        if (VM_IS_RAW_MODE_ENABLED(pVM))
    27392740            VMCPU_FF_SET(pVCpu, VMCPU_FF_SELM_SYNC_TSS);
    27402741#endif
     
    28182819     */
    28192820    CPUMR3RemLeave(pVCpu,
    2820                       HMIsEnabled(pVM)
     2821                      !VM_IS_RAW_MODE_ENABLED(pVM)
    28212822                   || (  pVM->rem.s.Env.segs[R_SS].newselector
    28222823                       | pVM->rem.s.Env.segs[R_GS].newselector
     
    29152916    pCtx->cr3           = pVM->rem.s.Env.cr[3];
    29162917#ifdef VBOX_WITH_RAW_MODE
    2917     if (((pVM->rem.s.Env.cr[4] ^ pCtx->cr4) & X86_CR4_VME) && !HMIsEnabled(pVM))
     2918    if (((pVM->rem.s.Env.cr[4] ^ pCtx->cr4) & X86_CR4_VME) && VM_IS_RAW_MODE_ENABLED(pVM))
    29182919        VMCPU_FF_SET(pVCpu, VMCPU_FF_SELM_SYNC_TSS);
    29192920#endif
     
    29292930        STAM_COUNTER_INC(&gStatREMGDTChange);
    29302931#ifdef VBOX_WITH_RAW_MODE
    2931         if (!HMIsEnabled(pVM))
     2932        if (VM_IS_RAW_MODE_ENABLED(pVM))
    29322933            VMCPU_FF_SET(pVCpu, VMCPU_FF_SELM_SYNC_GDT);
    29332934#endif
     
    29402941        STAM_COUNTER_INC(&gStatREMIDTChange);
    29412942#ifdef VBOX_WITH_RAW_MODE
    2942         if (!HMIsEnabled(pVM))
     2943        if (VM_IS_RAW_MODE_ENABLED(pVM))
    29432944            VMCPU_FF_SET(pVCpu, VMCPU_FF_TRPM_SYNC_IDT);
    29442945#endif
     
    29612962        STAM_COUNTER_INC(&gStatREMLDTRChange);
    29622963#ifdef VBOX_WITH_RAW_MODE
    2963         if (!HMIsEnabled(pVM))
     2964        if (VM_IS_RAW_MODE_ENABLED(pVM))
    29642965            VMCPU_FF_SET(pVCpu, VMCPU_FF_SELM_SYNC_LDT);
    29652966#endif
     
    29872988        STAM_COUNTER_INC(&gStatREMTRChange);
    29882989#ifdef VBOX_WITH_RAW_MODE
    2989         if (!HMIsEnabled(pVM))
     2990        if (VM_IS_RAW_MODE_ENABLED(pVM))
    29902991            VMCPU_FF_SET(pVCpu, VMCPU_FF_SELM_SYNC_TSS);
    29912992#endif
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