Index: /trunk/include/VBox/settings.h
===================================================================
--- /trunk/include/VBox/settings.h	(revision 32884)
+++ /trunk/include/VBox/settings.h	(revision 32885)
@@ -693,5 +693,5 @@
     CpuList             llCpus;                 // requires settings version 1.10 (VirtualBox 3.2)
     bool                fHpetEnabled;           // requires settings version 1.10 (VirtualBox 3.2)
-    uint32_t            ulCpuPriority;          // requires settings version 1.11 (VirtualBox 3.3)
+    uint32_t            ulCpuExecutionCap;      // requires settings version 1.11 (VirtualBox 3.3)
 
     CpuIdLeafsList      llCpuIdLeafs;
Index: /trunk/include/VBox/vm.h
===================================================================
--- /trunk/include/VBox/vm.h	(revision 32884)
+++ /trunk/include/VBox/vm.h	(revision 32885)
@@ -713,6 +713,6 @@
     /** Number of virtual CPUs. */
     uint32_t                    cCpus;
-    /** CPU priority (1-100) */
-    uint32_t                    uCpuPriority;
+    /** CPU excution cap (1-100) */
+    uint32_t                    uCpuExecutionCap;
 
     /** Size of the VM structure including the VMCPU array. */
Index: /trunk/include/VBox/vm.mac
===================================================================
--- /trunk/include/VBox/vm.mac	(revision 32884)
+++ /trunk/include/VBox/vm.mac	(revision 32885)
@@ -53,5 +53,5 @@
     .hSelf                  resd 1
     .cCpus                  resd 1
-    .uCpuPriority           resd 1
+    .uCpuExecutionCap       resd 1
     .cbSelf                 resd 1
     .offVMCPU               resd 1
Index: /trunk/include/VBox/vmapi.h
===================================================================
--- /trunk/include/VBox/vmapi.h	(revision 32884)
+++ /trunk/include/VBox/vmapi.h	(revision 32885)
@@ -409,5 +409,5 @@
 VMMR3DECL(int)              VMR3HotUnplugCpu(PVM pVM, VMCPUID idCpu);
 VMMR3DECL(int)              VMR3HotPlugCpu(PVM pVM, VMCPUID idCpu);
-VMMR3DECL(int)              VMR3SetCpuPriority(PVM pVM, unsigned ulCpuPriority);
+VMMR3DECL(int)              VMR3SetCpuExecutionCap(PVM pVM, unsigned ulExecutionCap);
 /** @} */
 #endif /* IN_RING3 */
Index: /trunk/src/VBox/Frontends/VBoxManage/VBoxManageControlVM.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VBoxManage/VBoxManageControlVM.cpp	(revision 32884)
+++ /trunk/src/VBox/Frontends/VBoxManage/VBoxManageControlVM.cpp	(revision 32885)
@@ -142,4 +142,17 @@
             CHECK_ERROR_BREAK(sessionMachine, HotPlugCPU(n));
         }
+        else if (!strcmp(a->argv[1], "cpuexecutioncap"))
+        {
+            if (a->argc <= 1 + 1)
+            {
+                errorArgument("Missing argument to '%s'. Expected execution cap number.", a->argv[1]);
+                rc = E_FAIL;
+                break;
+            }
+
+            unsigned n = parseNum(a->argv[2], 100, "ExecutionCap");
+
+            CHECK_ERROR_BREAK(machine, COMSETTER(CPUExecutionCap)(n));
+        }
         else if (!strcmp(a->argv[1], "poweroff"))
         {
Index: /trunk/src/VBox/Frontends/VBoxManage/VBoxManageHelp.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VBoxManage/VBoxManageHelp.cpp	(revision 32884)
+++ /trunk/src/VBox/Frontends/VBoxManage/VBoxManageHelp.cpp	(revision 32885)
@@ -184,4 +184,5 @@
                      "                            [--plugcpu <id>]\n"
                      "                            [--unplugcpu <id>]\n"
+                     "                            [--cpuexecutioncap <1-100>]\n"
                      "                            [--rtcuseutc on|off]\n"
                      "                            [--monitorcount <number>]\n"
@@ -418,4 +419,5 @@
                      "                            plugcpu <id>\n"
                      "                            unplugcpu <id>\n"
+                     "                            cpuexecutioncap <1-100>\n"
                      "\n");
     }
Index: /trunk/src/VBox/Frontends/VBoxManage/VBoxManageModifyVM.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VBoxManage/VBoxManageModifyVM.cpp	(revision 32884)
+++ /trunk/src/VBox/Frontends/VBoxManage/VBoxManageModifyVM.cpp	(revision 32885)
@@ -158,5 +158,6 @@
     MODIFYVM_FAULT_TOLERANCE_PORT,
     MODIFYVM_FAULT_TOLERANCE_PASSWORD,
-    MODIFYVM_FAULT_TOLERANCE_SYNC_INTERVAL
+    MODIFYVM_FAULT_TOLERANCE_SYNC_INTERVAL,
+    MODIFYVM_CPU_EXECTUION_CAP
 };
 
@@ -185,4 +186,5 @@
     { "--plugcpu",                  MODIFYVM_PLUGCPU,                   RTGETOPT_REQ_UINT32 },
     { "--unplugcpu",                MODIFYVM_UNPLUGCPU,                 RTGETOPT_REQ_UINT32 },
+    { "--cpuexecutioncap",          MODIFYVM_CPU_EXECTUION_CAP,         RTGETOPT_REQ_UINT32 },
     { "--rtcuseutc",                MODIFYVM_RTCUSEUTC,                 RTGETOPT_REQ_BOOL_ONOFF },
     { "--monitorcount",             MODIFYVM_MONITORCOUNT,              RTGETOPT_REQ_UINT32 },
@@ -517,4 +519,9 @@
             }
 
+            case MODIFYVM_CPU_EXECTUION_CAP:
+            {
+                CHECK_ERROR(machine, COMSETTER(CPUExecutionCap)(ValueUnion.u32));
+            }
+
             case MODIFYVM_MONITORCOUNT:
             {
Index: /trunk/src/VBox/Main/ConsoleImpl.cpp
===================================================================
--- /trunk/src/VBox/Main/ConsoleImpl.cpp	(revision 32884)
+++ /trunk/src/VBox/Main/ConsoleImpl.cpp	(revision 32885)
@@ -275,5 +275,5 @@
         kOnMediumChanged,
         kOnCPUChanged,
-        kOnCPUPriorityChanged,
+        kOnCPUExecutionCapChanged,
         kOnVRDPServerChanged,
         kOnRemoteDisplayInfoChanged,
@@ -3354,8 +3354,9 @@
 
         case VMSTATE_RUNNING_LS:
+        case VMSTATE_RUNNING_FT:
             return setErrorInternal(VBOX_E_INVALID_VM_STATE,
                                     COM_IIDOF(IConsole),
                                     getStaticComponentName(),
-                                    Utf8Str(tr("Cannot change drive during live migration")),
+                                    (enmVMState == VMSTATE_RUNNING_LS) ? Utf8Str(tr("Cannot change drive during live migration")) : Utf8Str(tr("Cannot change drive during fault tolerant syncing")),
                                     false /*aWarning*/,
                                     true /*aLogIt*/);
@@ -3367,6 +3368,5 @@
     /* Determine the base path for the device instance. */
     PCFGMNODE pCtlInst;
-    pCtlInst = CFGMR3GetChildF(CFGMR3GetRoot(pVM), "Devices/%s/%u/", pcszDevice,
- uInstance);
+    pCtlInst = CFGMR3GetChildF(CFGMR3GetRoot(pVM), "Devices/%s/%u/", pcszDevice, uInstance);
     AssertReturn(pCtlInst, VERR_INTERNAL_ERROR);
 
@@ -3906,9 +3906,9 @@
 
 /**
- * Called by IInternalSessionControl::OnCPUPriorityChange().
+ * Called by IInternalSessionControl::OnCpuExecutionCapChange().
  *
  * @note Locks this object for writing.
  */
-HRESULT Console::onCPUPriorityChange(ULONG aCpuPriority)
+HRESULT Console::onCPUExecutionCapChange(ULONG aExecutionCap)
 {
     LogFlowThisFunc(("\n"));
@@ -3934,5 +3934,5 @@
         {
             /* No need to call in the EMT thread. */
-            rc = VMR3SetCpuPriority(mpVM, aCpuPriority);
+            rc = VMR3SetCpuExecutionCap(mpVM, aExecutionCap);
         }
         else
@@ -3942,5 +3942,5 @@
     /* notify console callbacks on success */
     if (SUCCEEDED(rc))
-        CONSOLE_DO_CALLBACKS1(OnCPUPriorityChanged, aCpuPriority);
+        CONSOLE_DO_CALLBACKS1(OnCPUExecutionCapChanged, aExecutionCap);
 
     LogFlowThisFunc(("Leaving rc=%#x\n", rc));
Index: /trunk/src/VBox/Main/ConsoleImpl2.cpp
===================================================================
--- /trunk/src/VBox/Main/ConsoleImpl2.cpp	(revision 32884)
+++ /trunk/src/VBox/Main/ConsoleImpl2.cpp	(revision 32885)
@@ -551,6 +551,6 @@
     hrc = pMachine->COMGETTER(CPUCount)(&cCpus);                                        H();
 
-    ULONG ulCpuPriority = 100;
-    hrc = pMachine->COMGETTER(CPUPriority)(&ulCpuPriority);                             H();
+    ULONG ulCpuExecutionCap = 100;
+    hrc = pMachine->COMGETTER(CPUExecutionCap)(&ulCpuExecutionCap);                     H();
 
     Bstr osTypeId;
@@ -587,5 +587,5 @@
         InsertConfigInteger(pRoot, "RamHoleSize",          cbRamHole);
         InsertConfigInteger(pRoot, "NumCPUs",              cCpus);
-        InsertConfigInteger(pRoot, "CpuPriority",          ulCpuPriority);
+        InsertConfigInteger(pRoot, "CpuExecutionCap",      ulCpuExecutionCap);
         InsertConfigInteger(pRoot, "TimerMillies",         10);
 #ifdef VBOX_WITH_RAW_MODE
Index: /trunk/src/VBox/Main/MachineImpl.cpp
===================================================================
--- /trunk/src/VBox/Main/MachineImpl.cpp	(revision 32884)
+++ /trunk/src/VBox/Main/MachineImpl.cpp	(revision 32885)
@@ -196,6 +196,6 @@
     mIoCacheSize    = 5; /* 5MB */
 
-    /* Maximum CPU priority by default. */
-    mCpuPriority = 100;
+    /* Maximum CPU execution cap by default. */
+    mCpuExecutionCap = 100;
 }
 
@@ -1314,7 +1314,7 @@
 }
 
-STDMETHODIMP Machine::COMGETTER(CPUPriority)(ULONG *aPriority)
-{
-    if (!aPriority)
+STDMETHODIMP Machine::COMGETTER(CPUExecutionCap)(ULONG *aExecutionCap)
+{
+    if (!aExecutionCap)
         return E_POINTER;
 
@@ -1324,20 +1324,20 @@
     AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS);
 
-    *aPriority = mHWData->mCpuPriority;
-
-    return S_OK;
-}
-
-STDMETHODIMP Machine::COMSETTER(CPUPriority)(ULONG aPriority)
+    *aExecutionCap = mHWData->mCpuExecutionCap;
+
+    return S_OK;
+}
+
+STDMETHODIMP Machine::COMSETTER(CPUExecutionCap)(ULONG aExecutionCap)
 {
     HRESULT rc = S_OK;
 
-    /* check priority limits */
-    if (    aPriority < 1
-         || aPriority > 100
+    /* check throttle limits */
+    if (    aExecutionCap < 1
+         || aExecutionCap > 100
        )
         return setError(E_INVALIDARG,
-                        tr("Invalid CPU priority: %lu (must be in range [%lu, %lu])"),
-                        aPriority, 1, 100);
+                        tr("Invalid CPU execution cap value: %lu (must be in range [%lu, %lu])"),
+                        aExecutionCap, 1, 100);
 
     AutoCaller autoCaller(this);
@@ -1347,5 +1347,5 @@
 
     alock.release();
-    rc = onCPUPriorityChange(aPriority);
+    rc = onCpuExecutionCapChange(aExecutionCap);
     alock.acquire();
     if (FAILED(rc)) return rc;
@@ -1353,5 +1353,5 @@
     setModified(IsModified_MachineData);
     mHWData.backup();
-    mHWData->mCpuPriority = aPriority;
+    mHWData->mCpuExecutionCap = aExecutionCap;
 
     /* Save settings if online - todo why is this required?? */
@@ -7021,5 +7021,5 @@
         mHWData->mCPUCount                    = data.cCPUs;
         mHWData->mCPUHotPlugEnabled           = data.fCpuHotPlug;
-        mHWData->mCpuPriority                 = data.ulCpuPriority;
+        mHWData->mCpuExecutionCap             = data.ulCpuExecutionCap;
 
         // cpu
@@ -8070,7 +8070,7 @@
         }
 
-        data.cCPUs         = mHWData->mCPUCount;
-        data.fCpuHotPlug   = !!mHWData->mCPUHotPlugEnabled;
-        data.ulCpuPriority = mHWData->mCpuPriority;
+        data.cCPUs             = mHWData->mCPUCount;
+        data.fCpuHotPlug       = !!mHWData->mCPUHotPlugEnabled;
+        data.ulCpuExecutionCap = mHWData->mCpuExecutionCap;
 
         data.llCpus.clear();
@@ -10991,5 +10991,5 @@
 }
 
-HRESULT SessionMachine::onCPUPriorityChange(ULONG aCpuPriority)
+HRESULT SessionMachine::onCPUExecutionCapChange(ULONG aExecutionCap)
 {
     LogFlowThisFunc(("\n"));
@@ -11008,5 +11008,5 @@
         return S_OK;
 
-    return directControl->OnCPUPriorityChange(aCpuPriority);
+    return directControl->OnCPUExecutionCapChange(aExecutionCap);
 }
 
Index: /trunk/src/VBox/Main/SessionImpl.cpp
===================================================================
--- /trunk/src/VBox/Main/SessionImpl.cpp	(revision 32884)
+++ /trunk/src/VBox/Main/SessionImpl.cpp	(revision 32885)
@@ -596,5 +596,5 @@
 }
 
-STDMETHODIMP Session::OnCPUPriorityChange(ULONG aCpuPriority)
+STDMETHODIMP Session::OnCPUExecutionCapChange(ULONG aExecutionCap)
 {
     LogFlowThisFunc(("\n"));
@@ -607,5 +607,5 @@
     AssertReturn(mType == SessionType_WriteLock, VBOX_E_INVALID_OBJECT_STATE);
 
-    return mConsole->onCPUPriorityChange(aCpuPriority);
+    return mConsole->onCPUExecutionCapChange(aExecutionCap);
 }
 
Index: /trunk/src/VBox/Main/idl/VirtualBox.xidl
===================================================================
--- /trunk/src/VBox/Main/idl/VirtualBox.xidl	(revision 32884)
+++ /trunk/src/VBox/Main/idl/VirtualBox.xidl	(revision 32885)
@@ -3433,5 +3433,5 @@
   <interface
      name="IMachine" extends="$unknown"
-     uuid="917a4c5f-9388-4848-bbeb-5f02bfebf3d6"
+     uuid="5c91359b-5bdb-4518-9bd1-5f2c50a3c129"
      wsmap="managed"
      >
@@ -3621,9 +3621,9 @@
     </attribute>
 
-    <attribute name="CPUPriority" type="unsigned long">
+    <attribute name="CPUExecutionCap" type="unsigned long">
        <desc>
-         Priority of the virtual CPUs. Means to limit the number of CPU cycles
-         a guest can use. The unit is percentage of host CPU cycles per second.
-         The valid range is 1 - 100. 100 (the default) implies no limit.
+         Means to limit the number of CPU cycles a guest can use. The unit 
+         is percentage of host CPU cycles per second. The valid range 
+         is 1 - 100. 100 (the default) implies no limit.
        </desc>
     </attribute>
@@ -12525,5 +12525,5 @@
   <interface
      name="IInternalSessionControl" extends="$unknown"
-     uuid="ef059f1d-2273-4f81-9342-c152a0d2cd40"
+     uuid="0431ef9e-2c2e-42af-87d7-c8f52455f28a"
      internal="yes"
      wsmap="suppress"
@@ -12705,10 +12705,10 @@
     </method>
 
-    <method name="onCPUPriorityChange">
-      <desc>
-         Notification when the CPU priority changes.
-      </desc>
-      <param name="priority" type="unsigned long" dir="in">
-         <desc>The new CPU priority value. (1-100)</desc>
+    <method name="onCPUExecutionCapChange">
+      <desc>
+         Notification when the CPU execution cap changes.
+      </desc>
+      <param name="executionCap" type="unsigned long" dir="in">
+         <desc>The new CPU execution cap value. (1-100)</desc>
       </param>
     </method>
@@ -13934,5 +13934,5 @@
   <enum
      name="VBoxEventType"
-     uuid="2c76667e-6981-4122-a71a-cdfd6a6eb575">
+     uuid="d00980f3-bfcb-4e7d-a20e-08cabf3eb89f">
 
     <desc>
@@ -14146,7 +14146,7 @@
       </desc>
     </const>
-    <const name="OnCPUPriorityChanged" value="63">
-      <desc>
-        See <link to="ICPUPriorityChangedEvent">ICPUPriorityChangedEvent</link>.
+    <const name="OnCPUExecutionCapChanged" value="63">
+      <desc>
+        See <link to="ICPUExecutionCapChangedEvent">ICPUExecutionCapChangedEvent</link>.
       </desc>
     </const>
@@ -14889,14 +14889,14 @@
 
   <interface
-    name="ICPUPriorityChangedEvent" extends="IEvent"
-    uuid="657fe2fe-a75a-4cb6-8cf9-072aa41e7d75"
-    wsmap="managed" autogen="VBoxEvent" id="OnCPUPriorityChanged"
+    name="ICPUExecutionCapChangedEvent" extends="IEvent"
+    uuid="dfa7e4f5-b4a4-44ce-85a8-127ac5eb59dc"
+    wsmap="managed" autogen="VBoxEvent" id="OnCPUExecutionCapChanged"
     >
    <desc>
-      Notification when the CPU priority changes.
+      Notification when the CPU execution cap changes.
    </desc>
-     <attribute name="priority" type="unsigned long" readonly="yes">
+     <attribute name="executionCap" type="unsigned long" readonly="yes">
        <desc>
-         The new CPU priority value. (1-100)
+         The new CPU execution cap value. (1-100)
        </desc>
      </attribute>
Index: /trunk/src/VBox/Main/include/ConsoleImpl.h
===================================================================
--- /trunk/src/VBox/Main/include/ConsoleImpl.h	(revision 32884)
+++ /trunk/src/VBox/Main/include/ConsoleImpl.h	(revision 32885)
@@ -182,5 +182,5 @@
     HRESULT onMediumChange(IMediumAttachment *aMediumAttachment, BOOL aForce);
     HRESULT onCPUChange(ULONG aCPU, BOOL aRemove);
-    HRESULT onCPUPriorityChange(ULONG aCpuPriority);
+    HRESULT onCPUExecutionCapChange(ULONG aExecutionCap);
     HRESULT onVRDPServerChange(BOOL aRestart);
     HRESULT onUSBControllerChange();
Index: /trunk/src/VBox/Main/include/MachineImpl.h
===================================================================
--- /trunk/src/VBox/Main/include/MachineImpl.h	(revision 32884)
+++ /trunk/src/VBox/Main/include/MachineImpl.h	(revision 32885)
@@ -263,5 +263,5 @@
         ULONG                mCPUCount;
         BOOL                 mCPUHotPlugEnabled;
-        ULONG                mCpuPriority;
+        ULONG                mCpuExecutionCap;
         BOOL                 mAccelerate3DEnabled;
         BOOL                 mHpetEnabled;
@@ -385,6 +385,6 @@
     STDMETHOD(COMGETTER(CPUHotPlugEnabled))(BOOL *enabled);
     STDMETHOD(COMSETTER(CPUHotPlugEnabled))(BOOL enabled);
-    STDMETHOD(COMGETTER(CPUPriority))(ULONG *aPriority);
-    STDMETHOD(COMSETTER(CPUPriority))(ULONG aPriority);
+    STDMETHOD(COMGETTER(CPUExecutionCap))(ULONG *aExecutionCap);
+    STDMETHOD(COMSETTER(CPUExecutionCap))(ULONG aExecutionCap);
     STDMETHOD(COMGETTER(HpetEnabled))(BOOL *enabled);
     STDMETHOD(COMSETTER(HpetEnabled))(BOOL enabled);
@@ -623,5 +623,5 @@
     virtual HRESULT onStorageControllerChange() { return S_OK; }
     virtual HRESULT onCPUChange(ULONG /* aCPU */, BOOL /* aRemove */) { return S_OK; }
-    virtual HRESULT onCPUPriorityChange(ULONG /* aCpuPriority */) { return S_OK; }
+    virtual HRESULT onCPUExecutionCapChange(ULONG /* aExecutionCap */) { return S_OK; }
     virtual HRESULT onMediumChange(IMediumAttachment * /* mediumAttachment */, BOOL /* force */) { return S_OK; }
     virtual HRESULT onSharedFolderChange() { return S_OK; }
@@ -958,5 +958,5 @@
     HRESULT onParallelPortChange(IParallelPort *parallelPort);
     HRESULT onCPUChange(ULONG aCPU, BOOL aRemove);
-    HRESULT onCPUPriorityChange(ULONG aCpuPriority);
+    HRESULT onCPUExecutionCapChange(ULONG aCpuExecutionCap);
     HRESULT onVRDPServerChange(BOOL aRestart);
     HRESULT onUSBControllerChange();
Index: /trunk/src/VBox/Main/include/SessionImpl.h
===================================================================
--- /trunk/src/VBox/Main/include/SessionImpl.h	(revision 32884)
+++ /trunk/src/VBox/Main/include/SessionImpl.h	(revision 32885)
@@ -90,5 +90,5 @@
     STDMETHOD(OnMediumChange)(IMediumAttachment *aMediumAttachment, BOOL aForce);
     STDMETHOD(OnCPUChange)(ULONG aCPU, BOOL aRemove);
-    STDMETHOD(OnCPUPriorityChange)(ULONG aCpuPriority);
+    STDMETHOD(OnCPUExecutionCapChange)(ULONG aExecutionCap);
     STDMETHOD(OnVRDPServerChange)(BOOL aRestart);
     STDMETHOD(OnUSBControllerChange)();
Index: /trunk/src/VBox/Main/xml/Settings.cpp
===================================================================
--- /trunk/src/VBox/Main/xml/Settings.cpp	(revision 32884)
+++ /trunk/src/VBox/Main/xml/Settings.cpp	(revision 32885)
@@ -1540,5 +1540,5 @@
           fCpuHotPlug(false),
           fHpetEnabled(false),
-          ulCpuPriority(100),
+          ulCpuExecutionCap(100),
           ulMemorySizeMB((uint32_t)-1),
           ulVRAMSizeMB(8),
@@ -1587,5 +1587,5 @@
                   && (cCPUs                     == h.cCPUs)
                   && (fCpuHotPlug               == h.fCpuHotPlug)
-                  && (ulCpuPriority             == h.ulCpuPriority)
+                  && (ulCpuExecutionCap         == h.ulCpuExecutionCap)
                   && (fHpetEnabled              == h.fHpetEnabled)
                   && (llCpus                    == h.llCpus)
@@ -2249,5 +2249,5 @@
 
             pelmHwChild->getAttributeValue("hotplug", hw.fCpuHotPlug);
-            pelmHwChild->getAttributeValue("priority", hw.ulCpuPriority);
+            pelmHwChild->getAttributeValue("executionCap", hw.ulCpuExecutionCap);
 
             const xml::ElementNode *pelmCPUChild;
@@ -3194,6 +3194,6 @@
         pelmCPU->createChild("SyntheticCpu")->setAttribute("enabled", hw.fSyntheticCpu);
     pelmCPU->setAttribute("count", hw.cCPUs);
-    if (hw.ulCpuPriority != 100)
-        pelmCPU->setAttribute("priority", hw.ulCpuPriority);
+    if (hw.ulCpuExecutionCap != 100)
+        pelmCPU->setAttribute("executionCap", hw.ulCpuExecutionCap);
 
     if (hw.fLargePages)
@@ -4232,5 +4232,5 @@
         // VirtualBox 4.0 adds HD audio, CPU priorities, fault tolerance and per-machine media registries
         if (    hardwareMachine.audioAdapter.controllerType == AudioControllerType_HDA
-             || hardwareMachine.ulCpuPriority != 100
+             || hardwareMachine.ulCpuExecutionCap != 100
              || machineUserData.enmFaultToleranceState != FaultToleranceState_Inactive
              || machineUserData.uFaultTolerancePort
Index: /trunk/src/VBox/VMM/VM.cpp
===================================================================
--- /trunk/src/VBox/VMM/VM.cpp	(revision 32884)
+++ /trunk/src/VBox/VMM/VM.cpp	(revision 32885)
@@ -590,5 +590,5 @@
         AssertRelease(pVM->pSession == pUVM->vm.s.pSession);
         AssertRelease(pVM->cCpus == cCpus);
-        AssertRelease(pVM->uCpuPriority == 100);
+        AssertRelease(pVM->uCpuExecutionCap == 100);
         AssertRelease(pVM->offVMCPU == RT_UOFFSETOF(VM, aCpus));
 
@@ -653,6 +653,6 @@
             if (RT_SUCCESS(rc))
             {
-                rc = CFGMR3QueryU32Def(pRoot, "CpuPriority", &pVM->uCpuPriority, 100);
-                AssertLogRelMsgRC(rc, ("Configuration error: Querying \"CpuPriority\" as integer failed, rc=%Rrc\n", rc));
+                rc = CFGMR3QueryU32Def(pRoot, "CpuExecutionCap", &pVM->uCpuExecutionCap, 100);
+                AssertLogRelMsgRC(rc, ("Configuration error: Querying \"CpuExecutionCap\" as integer failed, rc=%Rrc\n", rc));
 
                 /*
@@ -4272,17 +4272,17 @@
 
 /**
- * Changes the VCPU priority.
+ * Changes the VMM execution cap.
  *
  * @returns VBox status code.
- * @param   pVM             The VM to operate on.
- * @param   ulCpuPriority   New CPU priority
- */
-VMMR3DECL(int) VMR3SetCpuPriority(PVM pVM, unsigned ulCpuPriority)
-{
-    AssertReturn(ulCpuPriority > 0 && ulCpuPriority <= 100, VERR_INVALID_PARAMETER);
-
-    Log(("VMR3SetCpuPriority: new priority = %d\n", ulCpuPriority));
+ * @param   pVM                 The VM to operate on.
+ * @param   ulCpuExecutionCap   New CPU execution cap
+ */
+VMMR3DECL(int) VMR3SetCpuExecutionCap(PVM pVM, unsigned ulCpuExecutionCap)
+{
+    AssertReturn(ulCpuExecutionCap > 0 && ulCpuExecutionCap <= 100, VERR_INVALID_PARAMETER);
+
+    Log(("VMR3SetCpuExecutionCap: new priority = %d\n", ulCpuExecutionCap));
     /* Note: not called from EMT. */
-    pVM->uCpuPriority = ulCpuPriority;
+    pVM->uCpuExecutionCap = ulCpuExecutionCap;
     return VINF_SUCCESS;
 }
Index: /trunk/src/VBox/VMM/VMMR0/GVMMR0.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR0/GVMMR0.cpp	(revision 32884)
+++ /trunk/src/VBox/VMM/VMMR0/GVMMR0.cpp	(revision 32885)
@@ -800,12 +800,12 @@
                             PVM pVM = (PVM)RTR0MemObjAddress(pGVM->gvmm.s.VMMemObj); AssertPtr(pVM);
                             memset(pVM, 0, cPages << PAGE_SHIFT);
-                            pVM->enmVMState     = VMSTATE_CREATING;
-                            pVM->pVMR0          = pVM;
-                            pVM->pSession       = pSession;
-                            pVM->hSelf          = iHandle;
-                            pVM->cbSelf         = cbVM;
-                            pVM->cCpus          = cCpus;
-                            pVM->uCpuPriority   = 100; /* default is maximum priority. */
-                            pVM->offVMCPU       = RT_UOFFSETOF(VM, aCpus);
+                            pVM->enmVMState       = VMSTATE_CREATING;
+                            pVM->pVMR0            = pVM;
+                            pVM->pSession         = pSession;
+                            pVM->hSelf            = iHandle;
+                            pVM->cbSelf           = cbVM;
+                            pVM->cCpus            = cCpus;
+                            pVM->uCpuExecutionCap = 100; /* default is no cap. */
+                            pVM->offVMCPU         = RT_UOFFSETOF(VM, aCpus);
 
                             rc = RTR0MemObjAllocPage(&pGVM->gvmm.s.VMPagesMemObj, cPages * sizeof(SUPPAGE), false /* fExecutable */);
