Changeset 79344 in vbox
- Timestamp:
- Jun 26, 2019 9:06:36 AM (6 years ago)
- svn:sync-xref-src-repo-rev:
- 131576
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR3/CPUM.cpp
r79141 r79344 1188 1188 { 1189 1189 int rc = VINF_SUCCESS; 1190 uint32_t const cPages = (2 * VMX_V_VMCS_PAGES) 1190 uint32_t const cPages = VMX_V_VMCS_PAGES 1191 + VMX_V_SHADOW_VMCS_PAGES 1191 1192 + VMX_V_VIRT_APIC_PAGES 1192 + (2 * VMX_V_VMREAD_VMWRITE_BITMAP_ SIZE)1193 + (3 * VMX_V_AUTOMSR_AREA_ SIZE)1194 + VMX_V_MSR_BITMAP_ SIZE1195 + (VMX_V_IO_BITMAP_A_ SIZE + VMX_V_IO_BITMAP_B_SIZE);1193 + (2 * VMX_V_VMREAD_VMWRITE_BITMAP_PAGES) 1194 + (3 * VMX_V_AUTOMSR_AREA_PAGES) 1195 + VMX_V_MSR_BITMAP_PAGES 1196 + (VMX_V_IO_BITMAP_A_PAGES + VMX_V_IO_BITMAP_B_PAGES); 1196 1197 LogRel(("CPUM: Allocating %u pages for the nested-guest VMCS and related structures\n", pVM->cCpus * cPages)); 1197 1198 for (VMCPUID i = 0; i < pVM->cCpus; i++) … … 1204 1205 * Allocate the nested-guest current VMCS. 1205 1206 */ 1206 Assert(VMX_V_VMCS_PAGES == 1);1207 1207 pCtx->hwvirt.vmx.pVmcsR3 = (PVMXVVMCS)SUPR3ContAlloc(VMX_V_VMCS_PAGES, 1208 1208 &pCtx->hwvirt.vmx.pVmcsR0, … … 1219 1219 * Allocate the nested-guest shadow VMCS. 1220 1220 */ 1221 Assert(VMX_V_VMCS_PAGES == 1);1222 1221 pCtx->hwvirt.vmx.pShadowVmcsR3 = (PVMXVVMCS)SUPR3ContAlloc(VMX_V_VMCS_PAGES, 1223 1222 &pCtx->hwvirt.vmx.pShadowVmcsR0, … … 1340 1339 */ 1341 1340 memset(pCtx->hwvirt.vmx.CTX_SUFF(pVmcs), 0, VMX_V_VMCS_SIZE); 1342 memset(pCtx->hwvirt.vmx.CTX_SUFF(pShadowVmcs), 0, VMX_V_ VMCS_SIZE);1341 memset(pCtx->hwvirt.vmx.CTX_SUFF(pShadowVmcs), 0, VMX_V_SHADOW_VMCS_SIZE); 1343 1342 memset(pCtx->hwvirt.vmx.CTX_SUFF(pvVmreadBitmap), 0, VMX_V_VMREAD_VMWRITE_BITMAP_SIZE); 1344 1343 memset(pCtx->hwvirt.vmx.CTX_SUFF(pvVmwriteBitmap), 0, VMX_V_VMREAD_VMWRITE_BITMAP_SIZE); … … 1371 1370 1372 1371 memset(pCtx->hwvirt.vmx.CTX_SUFF(pVmcs), 0, VMX_V_VMCS_SIZE); 1373 memset(pCtx->hwvirt.vmx.CTX_SUFF(pShadowVmcs), 0, VMX_V_ VMCS_SIZE);1372 memset(pCtx->hwvirt.vmx.CTX_SUFF(pShadowVmcs), 0, VMX_V_SHADOW_VMCS_SIZE); 1374 1373 pCtx->hwvirt.vmx.GCPhysVmxon = NIL_RTGCPHYS; 1375 1374 pCtx->hwvirt.vmx.GCPhysShadowVmcs = NIL_RTGCPHYS; … … 1428 1427 VMXFEATDUMP("UncondIoExit - Unconditional I/O exiting ", fVmxUncondIoExit); 1429 1428 VMXFEATDUMP("UseIoBitmaps - Use I/O bitmaps ", fVmxUseIoBitmaps); 1430 VMXFEATDUMP("MonitorTrapFlag - Monitor trap flag ", fVmxMonitorTrapFlag);1429 VMXFEATDUMP("MonitorTrapFlag - Monitor Trap Flag ", fVmxMonitorTrapFlag); 1431 1430 VMXFEATDUMP("UseMsrBitmaps - MSR bitmaps ", fVmxUseMsrBitmaps); 1432 1431 VMXFEATDUMP("MonitorExit - MONITOR exiting ", fVmxMonitorExit); … … 1470 1469 VMXFEATDUMP("ExitSaveEferLma - Save IA32_EFER.LMA on VM-exit ", fVmxExitSaveEferLma); 1471 1470 VMXFEATDUMP("IntelPt - Intel PT (Processor Trace) in VMX operation ", fVmxIntelPt); 1472 VMXFEATDUMP("VmwriteAll - Write allowed to read-only VMCS fields", fVmxVmwriteAll);1471 VMXFEATDUMP("VmwriteAll - VMWRITE to any supported VMCS field ", fVmxVmwriteAll); 1473 1472 VMXFEATDUMP("EntryInjectSoftInt - Inject softint. with 0-len instr. ", fVmxEntryInjectSoftInt); 1474 1473 #undef VMXFEATDUMP … … 1894 1893 EmuFeat.fVmxExitSaveEferLma = 1; 1895 1894 EmuFeat.fVmxIntelPt = 0; 1896 EmuFeat.fVmxVmwriteAll = 0; 1895 EmuFeat.fVmxVmwriteAll = 0; /** @todo NSTVMX: enable this. */ 1897 1896 EmuFeat.fVmxEntryInjectSoftInt = 0; 1898 1897
Note:
See TracChangeset
for help on using the changeset viewer.