VirtualBox

Changeset 49058 in vbox for trunk/src/VBox/Main


Ignore:
Timestamp:
Oct 11, 2013 3:51:50 PM (11 years ago)
Author:
vboxsync
Message:

Main: Added a TripleFaultReset switch.

Location:
trunk/src/VBox/Main
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/idl/VirtualBox.xidl

    r49038 r49058  
    921921  <enum
    922922    name="CPUPropertyType"
    923     uuid="24d356a6-2f45-4abd-b977-1cbe9c4701f5"
     923    uuid="52bc41f4-a279-45da-88ab-3a1d86fb73eb"
    924924    >
    925925    <desc>
     
    947947        This setting determines whether VirtualBox will advertise long mode
    948948        (i.e. 64-bit guest support) and let the guest enter it.
     949      </desc>
     950    </const>
     951    <const name="TripleFaultReset"     value="4">
     952      <desc>
     953        This setting determines whether a triple fault within a guest will trigger an internal
     954        error condition and stop the VM (default) or reset the virtual CPU and continue execution.
    949955      </desc>
    950956    </const>
  • trunk/src/VBox/Main/src-server/MachineImpl.cpp

    r49039 r49058  
    188188    mLongMode =  HC_ARCH_BITS == 64 ? settings::Hardware::LongMode_Enabled : settings::Hardware::LongMode_Disabled;
    189189    mSyntheticCpu = false;
     190    mTripleFaultReset = false;
    190191    mHPETEnabled = false;
    191192
     
    22392240            break;
    22402241
     2242        case CPUPropertyType_TripleFaultReset:
     2243            *aVal = mHWData->mTripleFaultReset;
     2244            break;
     2245
    22412246        default:
    22422247            return E_INVALIDARG;
     
    22732278            mHWData.backup();
    22742279            mHWData->mLongMode = !aVal ? settings::Hardware::LongMode_Disabled : settings::Hardware::LongMode_Enabled;
     2280            break;
     2281
     2282        case CPUPropertyType_TripleFaultReset:
     2283            setModified(IsModified_MachineData);
     2284            mHWData.backup();
     2285            mHWData->mTripleFaultReset = !!aVal;
    22752286            break;
    22762287
     
    92149225        mHWData->mSyntheticCpu                = data.fSyntheticCpu;
    92159226        mHWData->mLongMode                    = data.enmLongMode;
     9227        mHWData->mTripleFaultReset            = data.fTripleFaultReset;
    92169228        mHWData->mCPUCount                    = data.cCPUs;
    92179229        mHWData->mCPUHotPlugEnabled           = data.fCpuHotPlug;
     
    1053910551        data.enmLongMode            = mHWData->mLongMode;
    1054010552        data.fSyntheticCpu          = !!mHWData->mSyntheticCpu;
     10553        data.fTripleFaultReset      = !!mHWData->mTripleFaultReset;
    1054110554
    1054210555        /* Standard and Extended CPUID leafs. */
  • trunk/src/VBox/Main/xml/Settings.cpp

    r49028 r49058  
    18851885          fPAE(false),
    18861886          enmLongMode(HC_ARCH_BITS == 64 ? Hardware::LongMode_Enabled : Hardware::LongMode_Disabled),
     1887          fTripleFaultReset(false),
    18871888          cCPUs(1),
    18881889          fCpuHotPlug(false),
     
    19551956                  && (fPAE                      == h.fPAE)
    19561957                  && (enmLongMode               == h.enmLongMode)
     1958                  && (fTripleFaultReset         == h.fTripleFaultReset)
    19571959                  && (cCPUs                     == h.cCPUs)
    19581960                  && (fCpuHotPlug               == h.fCpuHotPlug)
     
    27122714            if ((pelmCPUChild = pelmHwChild->findChildElement("SyntheticCpu")))
    27132715                pelmCPUChild->getAttributeValue("enabled", hw.fSyntheticCpu);
     2716
     2717            if ((pelmCPUChild = pelmHwChild->findChildElement("TripleFaultReset")))
     2718                pelmCPUChild->getAttributeValue("enabled", hw.fTripleFaultReset);
     2719
    27142720            if ((pelmCPUChild = pelmHwChild->findChildElement("CpuIdTree")))
    27152721                readCpuIdTree(*pelmCPUChild, hw.llCpuIdLeafs);
     
    39573963    if (hw.fSyntheticCpu)
    39583964        pelmCPU->createChild("SyntheticCpu")->setAttribute("enabled", hw.fSyntheticCpu);
     3965    if (hw.fTripleFaultReset)
     3966        pelmCPU->createChild("TripleFaultReset")->setAttribute("enabled", hw.fTripleFaultReset);
    39593967    pelmCPU->setAttribute("count", hw.cCPUs);
    39603968    if (hw.ulCpuExecutionCap != 100)
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