VirtualBox

Changeset 70953 in vbox


Ignore:
Timestamp:
Feb 10, 2018 4:40:22 PM (7 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
120796
Message:

VMM: Clarified docs on fRecompilerUser/Supervisor and did some related cleanups.

Location:
trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/vmm/vm.h

    r70948 r70953  
    10691069    uint8_t const               bMainExecutionEngine;
    10701070
    1071     /** Whether to recompile user mode code or run it raw/hm. */
     1071    /** Whether to recompile user mode code or run it raw/hm/nem.
     1072     * In non-raw-mode both fRecompileUser and fRecompileSupervisor must be set
     1073     * to recompiler stuff. */
    10721074    bool                        fRecompileUser;
    1073     /** Whether to recompile supervisor mode code or run it raw/hm. */
     1075    /** Whether to recompile supervisor mode code or run it raw/hm/nem.
     1076     * In non-raw-mode both fRecompileUser and fRecompileSupervisor must be set
     1077     * to recompiler stuff. */
    10741078    bool                        fRecompileSupervisor;
    1075     /** Whether raw mode supports ring-1 code or not. */
     1079    /** Whether raw mode supports ring-1 code or not.
     1080     * This will be cleared when not in raw-mode.  */
    10761081    bool                        fRawRing1Enabled;
    10771082    /** PATM enabled flag.
    1078      * This is placed here for performance reasons. */
     1083     * This is placed here for performance reasons.
     1084     * This will be cleared when not in raw-mode. */
    10791085    bool                        fPATMEnabled;
    10801086    /** CSAM enabled flag.
    1081      * This is placed here for performance reasons. */
     1087     * This is placed here for performance reasons.
     1088     * This will be cleared when not in raw-mode. */
    10821089    bool                        fCSAMEnabled;
     1090
    10831091    /** Hardware VM support is available and enabled.
    10841092     * Determined very early during init.
     
    10891097     * This is never set on 64-bit hosts, only 32-bit hosts requires it. */
    10901098    bool                        fHMNeedRawModeCtx;
     1099
    10911100    /** Set when this VM is the master FT node.
    10921101     * @todo This doesn't need to be here, FTM should store it in it's own
  • trunk/src/VBox/VMM/VMMR3/CSAM.cpp

    r70948 r70953  
    25162516{
    25172517    Assert(VM_IS_RAW_MODE_ENABLED(pVM));
    2518     if (EMIsRawRing0Enabled(pVM) == false || PATMIsPatchGCAddr(pVM, pInstrGC) == true)
     2518    if (!EMIsRawRing0Enabled(pVM) || PATMIsPatchGCAddr(pVM, pInstrGC) == true)
    25192519    {
    25202520        // No use
     
    25462546    Assert(VM_IS_RAW_MODE_ENABLED(pVM));
    25472547
    2548     if (    EMIsRawRing0Enabled(pVM) == false
     2548    if (    !EMIsRawRing0Enabled(pVM)
    25492549        ||  PATMIsPatchGCAddr(pVM, pInstrGC) == true)
    25502550    {
     
    26932693
    26942694    AssertReturn(VM_IS_RAW_MODE_ENABLED(pVM), VERR_CSAM_HM_IPE);
    2695     if (EMIsRawRing0Enabled(pVM) == false)
     2695    if (!EMIsRawRing0Enabled(pVM))
    26962696    {
    26972697        /* Enabling interrupt gates only works when raw ring 0 is enabled. */
  • trunk/src/VBox/VMM/VMMR3/EM.cpp

    r70948 r70953  
    148148    }
    149149
    150     Log(("EMR3Init: fRecompileUser=%RTbool fRecompileSupervisor=%RTbool fRawRing1Enabled=%RTbool fIemExecutesAll=%RTbool fGuruOnTripleFault=%RTbool\n",
    151          pVM->fRecompileUser, pVM->fRecompileSupervisor, pVM->fRawRing1Enabled, pVM->em.s.fIemExecutesAll, pVM->em.s.fGuruOnTripleFault));
     150    LogRel(("EMR3Init: fRecompileUser=%RTbool fRecompileSupervisor=%RTbool fRawRing1Enabled=%RTbool fIemExecutesAll=%RTbool fGuruOnTripleFault=%RTbool\n",
     151            pVM->fRecompileUser, pVM->fRecompileSupervisor, pVM->fRawRing1Enabled, pVM->em.s.fIemExecutesAll, pVM->em.s.fGuruOnTripleFault));
    152152
    153153#ifdef VBOX_WITH_REM
     
    660660                break;
    661661            case EMEXECPOLICY_RECOMPILE_RING3:
    662                 pVM->fRecompileUser = pArgs->fEnforce;
     662                pVM->fRecompileUser       = pArgs->fEnforce;
    663663                break;
    664664            case EMEXECPOLICY_IEM_ALL:
     
    668668                AssertFailedReturn(VERR_INVALID_PARAMETER);
    669669        }
    670         Log(("emR3SetExecutionPolicy: fRecompileUser=%RTbool fRecompileSupervisor=%RTbool fIemExecutesAll=%RTbool\n",
    671               pVM->fRecompileUser, pVM->fRecompileSupervisor, pVM->em.s.fIemExecutesAll));
     670        LogRel(("emR3SetExecutionPolicy: fRecompileUser=%RTbool fRecompileSupervisor=%RTbool fIemExecutesAll=%RTbool\n",
     671                pVM->fRecompileUser, pVM->fRecompileSupervisor, pVM->em.s.fIemExecutesAll));
    672672    }
    673673
  • trunk/src/VBox/VMM/VMMR3/VM.cpp

    r70948 r70953  
    789789     * Base EM and HM config properties.
    790790     */
     791    /** @todo We don't need to read any of this here.  The relevant modules reads
     792     *        them again and will be in a better position to set them correctly. */
    791793    Assert(pVM->fRecompileUser == false); /* ASSUMES all zeros at this point */
    792 #ifdef VBOX_WITH_RAW_MODE
    793794    bool        fEnabled;
    794795    rc = CFGMR3QueryBoolDef(pRoot, "RawR3Enabled", &fEnabled, false); AssertRCReturn(rc, rc);
     
    796797    rc = CFGMR3QueryBoolDef(pRoot, "RawR0Enabled", &fEnabled, false); AssertRCReturn(rc, rc);
    797798    pVM->fRecompileSupervisor = !fEnabled;
     799#ifdef VBOX_WITH_RAW_MODE
    798800# ifdef VBOX_WITH_RAW_RING1
    799801    rc = CFGMR3QueryBoolDef(pRoot, "RawR1Enabled", &pVM->fRawRing1Enabled, false);
     
    809811            pVM->fHMEnabled, pVM->fRecompileUser, pVM->fRecompileSupervisor,
    810812            pVM->fRawRing1Enabled, pVM->fCSAMEnabled, pVM->fPATMEnabled));
    811 
    812813
    813814    /*
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