VirtualBox

Ignore:
Timestamp:
Jan 26, 2024 4:17:43 PM (10 months ago)
Author:
vboxsync
Message:

Main,FE/VBoxManage,FE/VirtualBox,ValidationKit: Allow setting the primary VM execution engine to make it easier to force particular engine for testing, bugref:10583

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/xml/Settings.cpp

    r102455 r103085  
    44094409    fTeleporterEnabled(false),
    44104410    uTeleporterPort(0),
    4411     enmVMPriority(VMProcPriority_Default)
     4411    enmVMPriority(VMProcPriority_Default),
     4412    enmExecEngine(VMExecutionEngine_Default)
    44124413{
    44134414    llGroups.push_back("/");
     
    44344435            && strTeleporterPassword      == c.strTeleporterPassword
    44354436            && ovIcon                     == c.ovIcon
    4436             && enmVMPriority              == c.enmVMPriority);
     4437            && enmVMPriority              == c.enmVMPriority
     4438            && enmExecEngine              == c.enmExecEngine);
    44374439}
    44384440
     
    70197021        }
    70207022
     7023        {
     7024            Utf8Str strExecEngine;
     7025            if (elmMachine.getAttributeValue("executionEngine", strExecEngine))
     7026            {
     7027                if (strExecEngine == "HwVirt")
     7028                    machineUserData.enmExecEngine = VMExecutionEngine_HwVirt;
     7029                else if (strExecEngine == "NativeApi")
     7030                    machineUserData.enmExecEngine = VMExecutionEngine_NativeApi;
     7031                else if (strExecEngine == "Interpreter")
     7032                    machineUserData.enmExecEngine = VMExecutionEngine_Interpreter;
     7033                else if (strExecEngine == "Recompiler")
     7034                    machineUserData.enmExecEngine = VMExecutionEngine_Recompiler;
     7035                else
     7036                    machineUserData.enmExecEngine = VMExecutionEngine_Default;
     7037            }
     7038        }
     7039
    70217040        str.setNull();
    70227041        elmMachine.getAttributeValue("icon", str);
     
    92069225            break;
    92079226    }
     9227
     9228    switch (machineUserData.enmExecEngine)
     9229    {
     9230        case VMExecutionEngine_HwVirt:
     9231            elmMachine.setAttribute("executionEngine", "HwVirt");
     9232            break;
     9233        case VMExecutionEngine_NativeApi:
     9234            elmMachine.setAttribute("executionEngine", "NativeApi");
     9235            break;
     9236        case VMExecutionEngine_Interpreter:
     9237            elmMachine.setAttribute("executionEngine", "Interpreter");
     9238            break;
     9239        case VMExecutionEngine_Recompiler:
     9240            elmMachine.setAttribute("executionEngine", "Recompiler");
     9241            break;
     9242        case VMExecutionEngine_Default:
     9243        default:
     9244            break;
     9245    }
     9246
    92089247    // Please keep the icon last so that one doesn't have to check if there
    92099248    // is anything in the line after this very long attribute in the XML.
     
    94859524        if (   (   hardwareMachine.platformSettings.architectureType != PlatformArchitecture_None
    94869525                && hardwareMachine.platformSettings.architectureType != PlatformArchitecture_x86)
    9487             || hardwareMachine.graphicsAdapter.graphicsControllerType == GraphicsControllerType_QemuRamFB)
     9526            || hardwareMachine.graphicsAdapter.graphicsControllerType == GraphicsControllerType_QemuRamFB
     9527            || machineUserData.enmExecEngine != VMExecutionEngine_Default)
    94889528        {
    94899529            /* Note: The new chipset type ARMv8Virtual implies setting the platform architecture type to ARM. */
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