- Timestamp:
- May 9, 2013 7:46:52 PM (12 years ago)
- svn:sync-xref-src-repo-rev:
- 85623
- Location:
- trunk/src/VBox
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VBoxManage/VBoxManageInfo.cpp
r45926 r45971 675 675 SHOW_BOOLEAN_METHOD(machine, GetHWVirtExProperty(HWVirtExPropertyType_LargePages, &f), "largepages", "Large Pages"); 676 676 SHOW_BOOLEAN_METHOD(machine, GetHWVirtExProperty(HWVirtExPropertyType_VPID, &f), "vtxvpid", "VT-x VPID"); 677 SHOW_BOOLEAN_METHOD(machine, GetHWVirtExProperty(HWVirtExPropertyType_UnrestrictedExecution, &f), "vtxux", "VT-x unr. exec."); 677 678 678 679 MachineState_T machineState; -
trunk/src/VBox/Frontends/VBoxManage/VBoxManageModifyVM.cpp
r45926 r45971 65 65 MODIFYVM_LARGEPAGES, 66 66 MODIFYVM_VTXVPID, 67 MODIFYVM_VTXUX, 67 68 MODIFYVM_CPUS, 68 69 MODIFYVM_CPUHOTPLUG, … … 222 223 { "--largepages", MODIFYVM_LARGEPAGES, RTGETOPT_REQ_BOOL_ONOFF }, 223 224 { "--vtxvpid", MODIFYVM_VTXVPID, RTGETOPT_REQ_BOOL_ONOFF }, 225 { "--vtxux", MODIFYVM_VTXUX, RTGETOPT_REQ_BOOL_ONOFF }, 224 226 { "--cpuidset", MODIFYVM_SETCPUID, RTGETOPT_REQ_UINT32 | RTGETOPT_FLAG_HEX}, 225 227 { "--cpuidremove", MODIFYVM_DELCPUID, RTGETOPT_REQ_UINT32 | RTGETOPT_FLAG_HEX}, … … 606 608 } 607 609 610 case MODIFYVM_VTXUX: 611 { 612 CHECK_ERROR(machine, SetHWVirtExProperty(HWVirtExPropertyType_UnrestrictedExecution, ValueUnion.f)); 613 break; 614 } 615 608 616 case MODIFYVM_CPUS: 609 617 { -
trunk/src/VBox/Main/idl/VirtualBox.xidl
r45940 r45971 950 950 <enum 951 951 name="HWVirtExPropertyType" 952 uuid=" ce81dfdd-d2b8-4a90-bbea-40ee8b7ffcee"952 uuid="39463ecd-b4b8-401f-b168-76cfa87e11f0" 953 953 > 954 954 <desc> … … 983 983 </desc> 984 984 </const> 985 <const name="LargePages" value="5"> 986 <desc> 987 Whether large page allocation is enabled; requires nested paging and a 64 bits host. 988 </desc> 989 </const> 990 <const name="Force" value="6"> 985 <const name="UnrestrictedExecution" value="5"> 986 <desc> 987 Whether VT-x unrestricted execution is enabled. If this feature is not available, it will not be used. 988 </desc> 989 </const> 990 <const name="LargePages" value="6"> 991 <desc> 992 Whether large page allocation is enabled; requires nested paging and a 64-bit host. 993 </desc> 994 </const> 995 <const name="Force" value="7"> 991 996 <desc> 992 997 Whether the VM should fail to start if hardware virtualization (VT-x/AMD-V) cannot be used. If … … 4197 4202 <desc> 4198 4203 This setting determines whether VirtualBox allows page 4199 fusion for this machine (64 bits hostonly).4204 fusion for this machine (64-bit hosts only). 4200 4205 </desc> 4201 4206 </attribute> … … 14803 14808 <desc> 14804 14809 Takes a guest screen shot of the requested size and returns it as 14805 an array of bytes in uncompressed 32-b itRGBA format.14810 an array of bytes in uncompressed 32-bpp RGBA format. 14806 14811 A pixel consists of 4 bytes in order: R, G, B, 0xFF. 14807 14812 … … 15453 15458 <interface 15454 15459 name="IMachineDebugger" extends="$unknown" 15455 uuid=" a80bb82c-37c5-4155-a524-9c1d0a1689ba"15460 uuid="1eeeb3c2-0089-4448-878e-414aee00e03b" 15456 15461 wsmap="managed" 15457 15462 > … … 15851 15856 Flag indicating whether the VM is currently making use of the VPID 15852 15857 VT-x extension. 15858 </desc> 15859 </attribute> 15860 15861 <attribute name="HWVirtExUXEnabled" type="boolean" readonly="yes"> 15862 <desc> 15863 Flag indicating whether the VM is currently making use of the 15864 unrestricted execution feature of VT-x. 15853 15865 </desc> 15854 15866 </attribute> … … 19643 19655 followed by a 32-bpp XOR (color) mask. 19644 19656 19645 For pointers without alpha channel the XOR mask pixels are 3219646 bit values: (lsb)BGR0(msb). For pointers with alpha channel19647 the XOR mask consists of (lsb)BGRA(msb) 32 19657 For pointers without alpha channel the XOR mask pixels are 19658 32-bit values: (lsb)BGR0(msb). For pointers with alpha channel 19659 the XOR mask consists of (lsb)BGRA(msb) 32-bit values. 19648 19660 19649 19661 An AND mask is used for pointers with alpha channel, so if the -
trunk/src/VBox/Main/include/MachineDebuggerImpl.h
r44528 r45971 73 73 STDMETHOD(COMGETTER(HWVirtExNestedPagingEnabled))(BOOL *a_pfEnabled); 74 74 STDMETHOD(COMGETTER(HWVirtExVPIDEnabled))(BOOL *a_pfEnabled); 75 STDMETHOD(COMGETTER(HWVirtExUXEnabled))(BOOL *a_pfEnabled); 75 76 STDMETHOD(COMGETTER(PAEEnabled))(BOOL *a_pfEnabled); 76 77 STDMETHOD(COMGETTER(OSName))(BSTR *a_pbstrName); -
trunk/src/VBox/Main/include/MachineImpl.h
r45926 r45971 269 269 BOOL mHWVirtExLargePagesEnabled; 270 270 BOOL mHWVirtExVPIDEnabled; 271 BOOL mHWVirtExUXEnabled; 271 272 BOOL mHWVirtExForceEnabled; 272 273 BOOL mAccelerate2DVideoEnabled; -
trunk/src/VBox/Main/src-client/ConsoleImpl2.cpp
r45927 r45971 997 997 hrc = pMachine->GetHWVirtExProperty(HWVirtExPropertyType_VPID, &fEnableVPID); H(); 998 998 InsertConfigInteger(pHM, "EnableVPID", fEnableVPID); 999 1000 /* Unrestricted execution aka UX (VT-x) */ 1001 BOOL fEnableUX = false; 1002 hrc = pMachine->GetHWVirtExProperty(HWVirtExPropertyType_UnrestrictedExecution, &fEnableUX); H(); 1003 InsertConfigInteger(pHM, "EnableUX", fEnableUX); 999 1004 1000 1005 /* -
trunk/src/VBox/Main/src-client/MachineDebuggerImpl.cpp
r45528 r45971 667 667 if (ptrVM.isOk()) 668 668 *aEnabled = HMR3IsVpidActive(ptrVM.rawUVM()); 669 else 670 *aEnabled = false; 671 672 return S_OK; 673 } 674 675 /** 676 * Returns the current unrestricted execution setting. 677 * 678 * @returns COM status code 679 * @param aEnabled address of result variable 680 */ 681 STDMETHODIMP MachineDebugger::COMGETTER(HWVirtExUXEnabled) (BOOL *aEnabled) 682 { 683 CheckComArgOutPointerValid(aEnabled); 684 685 AutoCaller autoCaller(this); 686 if (FAILED(autoCaller.rc())) 687 return autoCaller.rc(); 688 689 AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS); 690 691 Console::SafeVMPtrQuiet ptrVM(mParent); 692 693 if (ptrVM.isOk()) 694 *aEnabled = HMR3IsUXActive(ptrVM.rawUVM()); 669 695 else 670 696 *aEnabled = false; -
trunk/src/VBox/Main/src-server/MachineImpl.cpp
r45926 r45971 183 183 #endif 184 184 mHWVirtExVPIDEnabled = true; 185 mHWVirtExUXEnabled = true; 185 186 mHWVirtExForceEnabled = false; 186 187 #if defined(RT_OS_DARWIN) || defined(RT_OS_WINDOWS) … … 2429 2430 break; 2430 2431 2432 case HWVirtExPropertyType_UnrestrictedExecution: 2433 *aVal = mHWData->mHWVirtExUXEnabled; 2434 break; 2435 2431 2436 case HWVirtExPropertyType_LargePages: 2432 2437 *aVal = mHWData->mHWVirtExLargePagesEnabled; … … 2482 2487 break; 2483 2488 2489 case HWVirtExPropertyType_UnrestrictedExecution: 2490 setModified(IsModified_MachineData); 2491 mHWData.backup(); 2492 mHWData->mHWVirtExUXEnabled = !!aVal; 2493 break; 2494 2484 2495 case HWVirtExPropertyType_LargePages: 2485 2496 setModified(IsModified_MachineData); … … 8723 8734 mHWData->mHWVirtExLargePagesEnabled = data.fLargePages; 8724 8735 mHWData->mHWVirtExVPIDEnabled = data.fVPID; 8736 mHWData->mHWVirtExUXEnabled = data.fUnrestrictedExecution; 8725 8737 mHWData->mHWVirtExForceEnabled = data.fHardwareVirtForce; 8726 8738 mHWData->mPAEEnabled = data.fPAE; … … 9957 9969 data.fLargePages = !!mHWData->mHWVirtExLargePagesEnabled; 9958 9970 data.fVPID = !!mHWData->mHWVirtExVPIDEnabled; 9971 data.fUnrestrictedExecution = !!mHWData->mHWVirtExUXEnabled; 9959 9972 data.fHardwareVirtForce = !!mHWData->mHWVirtExForceEnabled; 9960 9973 data.fPAE = !!mHWData->mPAEEnabled; -
trunk/src/VBox/Main/xml/Settings.cpp
r45926 r45971 1733 1733 fNestedPaging(true), 1734 1734 fVPID(true), 1735 fUnrestrictedExecution(true), 1735 1736 fHardwareVirtForce(false), 1736 1737 fSyntheticCpu(false), … … 1803 1804 && (fLargePages == h.fLargePages) 1804 1805 && (fVPID == h.fVPID) 1806 && (fUnrestrictedExecution == h.fUnrestrictedExecution) 1805 1807 && (fHardwareVirtForce == h.fHardwareVirtForce) 1806 1808 && (fSyntheticCpu == h.fSyntheticCpu) … … 2535 2537 if ((pelmCPUChild = pelmHwChild->findChildElement("HardwareVirtExVPID"))) 2536 2538 pelmCPUChild->getAttributeValue("enabled", hw.fVPID); 2539 if ((pelmCPUChild = pelmHwChild->findChildElement("HardwareVirtExUX"))) 2540 pelmCPUChild->getAttributeValue("enabled", hw.fUnrestrictedExecution); 2537 2541 if ((pelmCPUChild = pelmHwChild->findChildElement("HardwareVirtForce"))) 2538 2542 pelmCPUChild->getAttributeValue("enabled", hw.fHardwareVirtForce); … … 3733 3737 pelmCPU->createChild("HardwareVirtExNestedPaging")->setAttribute("enabled", hw.fNestedPaging); 3734 3738 pelmCPU->createChild("HardwareVirtExVPID")->setAttribute("enabled", hw.fVPID); 3739 pelmCPU->createChild("HardwareVirtExUX")->setAttribute("enabled", hw.fUnrestrictedExecution); 3735 3740 pelmCPU->createChild("PAE")->setAttribute("enabled", hw.fPAE); 3736 3741 if (m->sv >= SettingsVersion_v1_14 && hw.enmLongMode != Hardware::LongMode_Legacy) -
trunk/src/VBox/VMM/VMMR3/HM.cpp
r45963 r45971 400 400 AssertRCReturn(rc, rc); 401 401 402 /** @cfgm{/HM/EnableU nrestrictedExec, bool, true}402 /** @cfgm{/HM/EnableUX, bool, true} 403 403 * Enables the VT-x unrestricted execution feature. */ 404 rc = CFGMR3QueryBoolDef(pCfgHM, "EnableU nrestrictedExec", &pVM->hm.s.vmx.fAllowUnrestricted, true);404 rc = CFGMR3QueryBoolDef(pCfgHM, "EnableUX", &pVM->hm.s.vmx.fAllowUnrestricted, true); 405 405 AssertRCReturn(rc, rc); 406 406 … … 2821 2821 2822 2822 /** 2823 * Checks if we are currently using VT-x unrestricted execution, 2824 * aka UX. 2825 * 2826 * @returns true if UX is being used, otherwise false. 2827 * @param pUVM The user mode VM handle. 2828 */ 2829 VMMR3DECL(bool) HMR3IsUXActive(PUVM pUVM) 2830 { 2831 UVM_ASSERT_VALID_EXT_RETURN(pUVM, false); 2832 PVM pVM = pUVM->pVM; 2833 VM_ASSERT_VALID_EXT_RETURN(pVM, false); 2834 return pVM->hm.s.vmx.fUnrestrictedGuest; 2835 } 2836 2837 2838 /** 2823 2839 * Checks if internal events are pending. In that case we are not allowed to dispatch interrupts. 2824 2840 *
Note:
See TracChangeset
for help on using the changeset viewer.