Changeset 80025 in vbox
- Timestamp:
- Jul 28, 2019 2:23:22 PM (5 years ago)
- Location:
- trunk/src/VBox/VMM/VMMR3
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR3/VM.cpp
r80024 r80025 862 862 { 863 863 ASMCompilerBarrier(); /* HMR3Init will have modified bMainExecutionEngine */ 864 #ifdef VBOX_WITH_RAW_MODE865 Assert( pVM->bMainExecutionEngine == VM_EXEC_ENGINE_HW_VIRT866 || pVM->bMainExecutionEngine == VM_EXEC_ENGINE_RAW_MODE867 || pVM->bMainExecutionEngine == VM_EXEC_ENGINE_NATIVE_API);868 #else869 864 Assert( pVM->bMainExecutionEngine == VM_EXEC_ENGINE_HW_VIRT 870 865 || pVM->bMainExecutionEngine == VM_EXEC_ENGINE_NATIVE_API); 871 #endif872 866 rc = MMR3Init(pVM); 873 867 if (RT_SUCCESS(rc)) … … 932 926 if (RT_SUCCESS(rc)) 933 927 rc = MMR3HyperInitFinalize(pVM); 934 #ifdef VBOX_WITH_RAW_MODE935 if (RT_SUCCESS(rc))936 rc = PATMR3InitFinalize(pVM);937 #endif938 928 if (RT_SUCCESS(rc)) 939 929 rc = PGMR3InitFinalize(pVM); … … 1050 1040 1051 1041 1052 #ifdef VBOX_WITH_RAW_MODE1053 /**1054 * Initializes all RC components of the VM1055 */1056 static int vmR3InitRC(PVM pVM)1057 {1058 LogFlow(("vmR3InitRC:\n"));1059 1060 /*1061 * Check for FAKE suplib mode.1062 */1063 int rc = VINF_SUCCESS;1064 const char *psz = RTEnvGet("VBOX_SUPLIB_FAKE");1065 if (!psz || strcmp(psz, "fake"))1066 {1067 /*1068 * Call the VMMR0 component and let it do the init.1069 */1070 rc = VMMR3InitRC(pVM);1071 }1072 else1073 Log(("vmR3InitRC: skipping because of VBOX_SUPLIB_FAKE=fake\n"));1074 1075 /*1076 * Do notifications and return.1077 */1078 if (RT_SUCCESS(rc))1079 rc = vmR3InitDoCompleted(pVM, VMINITCOMPLETED_RC);1080 LogFlow(("vmR3InitRC: returns %Rrc\n", rc));1081 return rc;1082 }1083 #endif /* VBOX_WITH_RAW_MODE */1084 1085 1086 1042 /** 1087 1043 * Do init completed notifications. … … 1144 1100 SELMR3Relocate(pVM); /* !hack! fix stack! */ 1145 1101 TRPMR3Relocate(pVM, offDelta); 1146 #ifdef VBOX_WITH_RAW_MODE1147 PATMR3Relocate(pVM, (RTRCINTPTR)offDelta);1148 CSAMR3Relocate(pVM, offDelta);1149 #endif1150 1102 IOMR3Relocate(pVM, offDelta); 1151 1103 EMR3Relocate(pVM); … … 2392 2344 rc = IOMR3Term(pVM); 2393 2345 AssertRC(rc); 2394 #ifdef VBOX_WITH_RAW_MODE2395 rc = CSAMR3Term(pVM);2396 AssertRC(rc);2397 rc = PATMR3Term(pVM);2398 AssertRC(rc);2399 #endif2400 2346 rc = TRPMR3Term(pVM); 2401 2347 AssertRC(rc); … … 2786 2732 if (pVCpu->idCpu == 0) 2787 2733 { 2788 #ifdef VBOX_WITH_RAW_MODE2789 PATMR3Reset(pVM);2790 CSAMR3Reset(pVM);2791 #endif2792 2734 GIMR3Reset(pVM); /* This must come *before* PDM and TM. */ 2793 2735 PDMR3Reset(pVM); -
trunk/src/VBox/VMM/VMMR3/VMM.cpp
r80019 r80025 348 348 pVCpu->vmm.s.pbEMTStackR3 += PAGE_SIZE; 349 349 #endif 350 #ifdef VBOX_WITH_2X_4GB_ADDR_SPACE 351 /* MMHyperR3ToR0 returns R3 when not doing hardware assisted virtualization. */ 352 if (VM_IS_RAW_MODE_ENABLED(pVM)) 353 pVCpu->vmm.s.CallRing3JmpBufR0.pvSavedStack = NIL_RTR0PTR; 354 else 355 #endif 356 pVCpu->vmm.s.CallRing3JmpBufR0.pvSavedStack = MMHyperR3ToR0(pVM, pVCpu->vmm.s.pbEMTStackR3); 350 pVCpu->vmm.s.CallRing3JmpBufR0.pvSavedStack = MMHyperR3ToR0(pVM, pVCpu->vmm.s.pbEMTStackR3); 357 351 358 352 } … … 870 864 VMMR3DECL(const char *) VMMR3GetRZAssertMsg1(PVM pVM) 871 865 { 872 if (!VM_IS_RAW_MODE_ENABLED(pVM)) 873 return pVM->vmm.s.szRing0AssertMsg1; 874 875 RTRCPTR RCPtr; 876 int rc = PDMR3LdrGetSymbolRC(pVM, NULL, "g_szRTAssertMsg1", &RCPtr); 877 if (RT_SUCCESS(rc)) 878 return (const char *)MMHyperRCToR3(pVM, RCPtr); 879 880 return NULL; 866 return pVM->vmm.s.szRing0AssertMsg1; 881 867 } 882 868 … … 907 893 VMMR3DECL(const char *) VMMR3GetRZAssertMsg2(PVM pVM) 908 894 { 909 if (!VM_IS_RAW_MODE_ENABLED(pVM)) 910 return pVM->vmm.s.szRing0AssertMsg2; 911 912 RTRCPTR RCPtr; 913 int rc = PDMR3LdrGetSymbolRC(pVM, NULL, "g_szRTAssertMsg2", &RCPtr); 914 if (RT_SUCCESS(rc)) 915 return (const char *)MMHyperRCToR3(pVM, RCPtr); 916 917 return NULL; 895 return pVM->vmm.s.szRing0AssertMsg2; 918 896 } 919 897
Note:
See TracChangeset
for help on using the changeset viewer.