Changeset 79572 in vbox for trunk/src/VBox/VMM
- Timestamp:
- Jul 7, 2019 9:22:30 AM (6 years ago)
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/HMVMXAll.cpp
r79345 r79572 370 370 VMXV_DIAG_DESC(kVmxVDiag_Vmexit_MsrStorePtrWritePhys , "MsrStorePtrWritePhys" ), 371 371 VMXV_DIAG_DESC(kVmxVDiag_Vmexit_MsrStoreRing3 , "MsrStoreRing3" ), 372 VMXV_DIAG_DESC(kVmxVDiag_Vmexit_MsrStoreRsvd , "MsrStoreRsvd" ) 372 VMXV_DIAG_DESC(kVmxVDiag_Vmexit_MsrStoreRsvd , "MsrStoreRsvd" ), 373 VMXV_DIAG_DESC(kVmxVDiag_Vmexit_VirtApicPagePtrWritePhys , "VirtApicPagePtrWritePhys" ) 373 374 /* kVmxVDiag_End */ 374 375 }; … … 925 926 LogRel(("offVirtApicWrite = %#RX16\n", pCtx->hwvirt.vmx.offVirtApicWrite)); 926 927 LogRel(("fVirtNmiBlocking = %RTbool\n", pCtx->hwvirt.vmx.fVirtNmiBlocking)); 928 LogRel(("fVirtApicPageDirty = %RTbool\n", pCtx->hwvirt.vmx.fVirtApicPageDirty)); 927 929 LogRel(("VMCS cache:\n")); 928 930 -
trunk/src/VBox/VMM/VMMR3/CPUM.cpp
r79528 r79572 1140 1140 pCtx->hwvirt.vmx.pShadowVmcsR3 = NULL; 1141 1141 } 1142 if (pCtx->hwvirt.vmx.pvVirtApicPageR3) 1143 { 1144 SUPR3ContFree(pCtx->hwvirt.vmx.pvVirtApicPageR3, VMX_V_VIRT_APIC_PAGES); 1145 pCtx->hwvirt.vmx.pvVirtApicPageR3 = NULL; 1146 } 1142 1147 if (pCtx->hwvirt.vmx.pvVmreadBitmapR3) 1143 1148 { … … 1231 1236 1232 1237 /* 1238 * Allocate the virtual-APIC page. 1239 */ 1240 pCtx->hwvirt.vmx.pvVirtApicPageR3 = SUPR3ContAlloc(VMX_V_VIRT_APIC_PAGES, 1241 &pCtx->hwvirt.vmx.pvVirtApicPageR0, 1242 &pCtx->hwvirt.vmx.HCPhysVirtApicPage); 1243 if (pCtx->hwvirt.vmx.pvVirtApicPageR3) 1244 { /* likely */ } 1245 else 1246 { 1247 LogRel(("CPUM%u: Failed to alloc %u pages for the nested-guest's virtual-APIC page\n", pVCpu->idCpu, 1248 VMX_V_VIRT_APIC_PAGES)); 1249 break; 1250 } 1251 1252 /* 1233 1253 * Allocate the VMREAD-bitmap. 1234 1254 */ … … 1340 1360 memset(pCtx->hwvirt.vmx.CTX_SUFF(pVmcs), 0, VMX_V_VMCS_SIZE); 1341 1361 memset(pCtx->hwvirt.vmx.CTX_SUFF(pShadowVmcs), 0, VMX_V_SHADOW_VMCS_SIZE); 1362 memset(pCtx->hwvirt.vmx.CTX_SUFF(pvVirtApicPage), 0, VMX_V_VIRT_APIC_SIZE); 1342 1363 memset(pCtx->hwvirt.vmx.CTX_SUFF(pvVmreadBitmap), 0, VMX_V_VMREAD_VMWRITE_BITMAP_SIZE); 1343 1364 memset(pCtx->hwvirt.vmx.CTX_SUFF(pvVmwriteBitmap), 0, VMX_V_VMREAD_VMWRITE_BITMAP_SIZE); … … 2627 2648 SSMR3PutU16(pSSM, pGstCtx->hwvirt.vmx.offVirtApicWrite); 2628 2649 SSMR3PutBool(pSSM, pGstCtx->hwvirt.vmx.fVirtNmiBlocking); 2650 SSMR3PutBool(pSSM, pGstCtx->hwvirt.vmx.fVirtApicPageDirty); 2629 2651 SSMR3PutU64(pSSM, pGstCtx->hwvirt.vmx.Msrs.u64FeatCtrl); 2630 2652 SSMR3PutU64(pSSM, pGstCtx->hwvirt.vmx.Msrs.u64Basic); … … 2918 2940 SSMR3GetU16(pSSM, &pGstCtx->hwvirt.vmx.offVirtApicWrite); 2919 2941 SSMR3GetBool(pSSM, &pGstCtx->hwvirt.vmx.fVirtNmiBlocking); 2942 SSMR3GetBool(pSSM, &pGstCtx->hwvirt.vmx.fVirtApicPageDirty); 2920 2943 SSMR3GetU64(pSSM, &pGstCtx->hwvirt.vmx.Msrs.u64FeatCtrl); 2921 2944 SSMR3GetU64(pSSM, &pGstCtx->hwvirt.vmx.Msrs.u64Basic); … … 4109 4132 pHlp->pfnPrintf(pHlp, " offVirtApicWrite = %#RX16\n", pCtx->hwvirt.vmx.offVirtApicWrite); 4110 4133 pHlp->pfnPrintf(pHlp, " fVirtNmiBlocking = %RTbool\n", pCtx->hwvirt.vmx.fVirtNmiBlocking); 4134 pHlp->pfnPrintf(pHlp, " fVirtApicPageDirty = %RTbool\n", pCtx->hwvirt.vmx.fVirtApicPageDirty); 4111 4135 pHlp->pfnPrintf(pHlp, " VMCS cache:\n"); 4112 4136 cpumR3InfoVmxVmcs(pHlp, pCtx->hwvirt.vmx.pVmcsR3, " " /* pszPrefix */); -
trunk/src/VBox/VMM/testcase/tstVMStruct.h
r78220 r79572 159 159 GEN_CHECK_OFF(CPUMCTX, hwvirt.vmx.pShadowVmcsR0); 160 160 GEN_CHECK_OFF(CPUMCTX, hwvirt.vmx.pShadowVmcsR3); 161 GEN_CHECK_OFF(CPUMCTX, hwvirt.vmx.pvVirtApicPageR0); 162 GEN_CHECK_OFF(CPUMCTX, hwvirt.vmx.pvVirtApicPageR3); 161 163 GEN_CHECK_OFF(CPUMCTX, hwvirt.vmx.pvVmreadBitmapR0); 162 164 GEN_CHECK_OFF(CPUMCTX, hwvirt.vmx.pvVmreadBitmapR3); … … 178 180 GEN_CHECK_OFF(CPUMCTX, hwvirt.vmx.offVirtApicWrite); 179 181 GEN_CHECK_OFF(CPUMCTX, hwvirt.vmx.fVirtNmiBlocking); 182 GEN_CHECK_OFF(CPUMCTX, hwvirt.vmx.fVirtApicPageDirty); 180 183 GEN_CHECK_OFF(CPUMCTX, hwvirt.vmx.Msrs); 181 184 GEN_CHECK_OFF(CPUMCTX, hwvirt.vmx.HCPhysVmcs);
Note:
See TracChangeset
for help on using the changeset viewer.