Changeset 99913 in vbox for trunk/src/VBox/Main
- Timestamp:
- May 22, 2023 6:36:24 PM (21 months ago)
- Location:
- trunk/src/VBox/Main
- Files:
-
- 1 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Main/Makefile.kmk
r99909 r99913 1024 1024 $(if $(VBOX_WITH_IOMMU_INTEL),VBOX_WITH_IOMMU_INTEL,) \ 1025 1025 $(if $(VBOX_WITH_TPM),VBOX_WITH_TPM,) \ 1026 $(if $(VBOX_WITH_FULL_VM_ENCRYPTION),VBOX_WITH_FULL_VM_ENCRYPTION,) 1026 $(if $(VBOX_WITH_FULL_VM_ENCRYPTION),VBOX_WITH_FULL_VM_ENCRYPTION,) \ 1027 $(if $(VBOX_WITH_VIRT_ARMV8),VBOX_WITH_VIRT_ARMV8,) 1027 1028 ifdef VBOX_WITH_NETSHAPER 1028 1029 VBoxC_DEFS += VBOX_WITH_NETSHAPER … … 1157 1158 src-client/ConsoleImplConfigCommon.cpp \ 1158 1159 src-client/ConsoleImplConfigX86.cpp \ 1160 $(if $(VBOX_WITH_VIRT_ARMV8),src-client/ConsoleImplConfigArmV8.cpp,) \ 1159 1161 src-client/ConsoleImplTeleporter.cpp \ 1160 1162 src-client/ConsoleVRDPServer.cpp \ -
trunk/src/VBox/Main/include/ConsoleImpl.h
r99909 r99913 669 669 typedef std::list <ComObjPtr<RemoteUSBDevice> > RemoteUSBDeviceList; 670 670 671 HRESULT i_loadVMM( void) RT_NOEXCEPT;671 HRESULT i_loadVMM(const char *pszVMMMod) RT_NOEXCEPT; 672 672 HRESULT i_addVMCaller(bool aQuiet = false, bool aAllowNullVM = false); 673 673 void i_releaseVMCaller(); … … 722 722 void i_configAudioDriver(IVirtualBox *pVirtualBox, IMachine *pMachine, PCFGMNODE pLUN, const char *pszDriverName, 723 723 bool fAudioEnabledIn, bool fAudioEnabledOut); 724 int i_configConstructorInnerX86(PUVM pUVM, PVM pVM, PCVMMR3VTABLE pVMM, AutoWriteLock *pAlock); 724 int i_configConstructorInner(PUVM pUVM, PVM pVM, PCVMMR3VTABLE pVMM, AutoWriteLock *pAlock); 725 int i_configConstructorX86(PUVM pUVM, PVM pVM, PCVMMR3VTABLE pVMM, AutoWriteLock *pAlock); 726 #ifdef VBOX_WITH_VIRT_ARMV8 727 int i_configConstructorArmV8(PUVM pUVM, PVM pVM, PCVMMR3VTABLE pVMM, AutoWriteLock *pAlock); 728 #endif 725 729 int i_configCfgmOverlay(PCFGMNODE pRoot, IVirtualBox *pVirtualBox, IMachine *pMachine); 726 730 int i_configDumpAPISettingsTweaks(IVirtualBox *pVirtualBox, IMachine *pMachine); -
trunk/src/VBox/Main/src-client/ConsoleImpl.cpp
r99808 r99913 543 543 if (aLockType == LockType_VM) 544 544 { 545 const char *pszVMM = "VBoxVMM"; 546 547 #ifdef VBOX_WITH_VIRT_ARMV8 548 Bstr value; 549 hrc = mMachine->GetExtraData(Bstr("VBoxInternal2/ArmV8Virt").raw(), 550 value.asOutParam()); 551 if ( hrc == S_OK 552 && value == "1") 553 pszVMM = "VBoxVMMArm"; 554 #endif 555 545 556 /* Load the VMM. We won't continue without it being successfully loaded here. */ 546 hrc = i_loadVMM( );557 hrc = i_loadVMM(pszVMM); 547 558 AssertComRCReturnRC(hrc); 548 559 … … 7817 7828 * 7818 7829 * @returns COM status. 7830 * @param pszVMMMod The VMM module to load. 7819 7831 * @remarks Caller must write lock the console object. 7820 7832 */ 7821 HRESULT Console::i_loadVMM( void) RT_NOEXCEPT7833 HRESULT Console::i_loadVMM(const char *pszVMMMod) RT_NOEXCEPT 7822 7834 { 7823 7835 if ( mhModVMM == NIL_RTLDRMOD … … 7829 7841 RTERRINFOSTATIC ErrInfo; 7830 7842 RTLDRMOD hModVMM = NIL_RTLDRMOD; 7831 int vrc = SUPR3HardenedLdrLoadAppPriv( "VBoxVMM", &hModVMM, RTLDRLOAD_FLAGS_LOCAL, RTErrInfoInitStatic(&ErrInfo));7843 int vrc = SUPR3HardenedLdrLoadAppPriv(pszVMMMod, &hModVMM, RTLDRLOAD_FLAGS_LOCAL, RTErrInfoInitStatic(&ErrInfo)); 7832 7844 if (RT_SUCCESS(vrc)) 7833 7845 { -
trunk/src/VBox/Main/src-client/ConsoleImplConfigCommon.cpp
r99909 r99913 477 477 try 478 478 { 479 vrc = pConsole->i_configConstructorInner X86(pUVM, pVM, pVMM, &alock);479 vrc = pConsole->i_configConstructorInner(pUVM, pVM, pVMM, &alock); 480 480 } 481 481 catch (...) … … 490 490 491 491 return vrc; 492 } 493 494 495 /** 496 * Worker for configConstructor. 497 * 498 * @return VBox status code. 499 * @param pUVM The user mode VM handle. 500 * @param pVM The cross context VM handle. 501 * @param pVMM The VMM vtable. 502 * @param pAlock The automatic lock instance. This is for when we have 503 * to leave it in order to avoid deadlocks (ext packs and 504 * more). 505 */ 506 int Console::i_configConstructorInner(PUVM pUVM, PVM pVM, PCVMMR3VTABLE pVMM, AutoWriteLock *pAlock) 507 { 508 #ifdef VBOX_WITH_VIRT_ARMV8 509 ComPtr<IMachine> pMachine = i_machine(); 510 511 Bstr strArmV8VirtFlag; 512 HRESULT hrc = pMachine->GetExtraData(Bstr("VBoxInternal2/ArmV8Virt").raw(), 513 strArmV8VirtFlag.asOutParam()); 514 if ( hrc == S_OK 515 && strArmV8VirtFlag == "1") 516 return i_configConstructorArmV8(pUVM, pVM, pVMM, pAlock); 517 #endif 518 return i_configConstructorX86(pUVM, pVM, pVMM, pAlock); 492 519 } 493 520 -
trunk/src/VBox/Main/src-client/ConsoleImplConfigX86.cpp
r99909 r99913 485 485 * more). 486 486 */ 487 int Console::i_configConstructor InnerX86(PUVM pUVM, PVM pVM, PCVMMR3VTABLE pVMM, AutoWriteLock *pAlock)487 int Console::i_configConstructorX86(PUVM pUVM, PVM pVM, PCVMMR3VTABLE pVMM, AutoWriteLock *pAlock) 488 488 { 489 489 RT_NOREF(pVM /* when everything is disabled */);
Note:
See TracChangeset
for help on using the changeset viewer.