VirtualBox

Changeset 79344 in vbox


Ignore:
Timestamp:
Jun 26, 2019 9:06:36 AM (6 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
131576
Message:

VMM/CPUM: Nested VMX: bugref:9180 Fix logging that calculates pages allocated for VMCS and related structures. Logging nits.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR3/CPUM.cpp

    r79141 r79344  
    11881188{
    11891189    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
    11911192                          + 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_SIZE
    1195                           + (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);
    11961197    LogRel(("CPUM: Allocating %u pages for the nested-guest VMCS and related structures\n", pVM->cCpus * cPages));
    11971198    for (VMCPUID i = 0; i < pVM->cCpus; i++)
     
    12041205         * Allocate the nested-guest current VMCS.
    12051206         */
    1206         Assert(VMX_V_VMCS_PAGES == 1);
    12071207        pCtx->hwvirt.vmx.pVmcsR3 = (PVMXVVMCS)SUPR3ContAlloc(VMX_V_VMCS_PAGES,
    12081208                                                             &pCtx->hwvirt.vmx.pVmcsR0,
     
    12191219         * Allocate the nested-guest shadow VMCS.
    12201220         */
    1221         Assert(VMX_V_VMCS_PAGES == 1);
    12221221        pCtx->hwvirt.vmx.pShadowVmcsR3 = (PVMXVVMCS)SUPR3ContAlloc(VMX_V_VMCS_PAGES,
    12231222                                                                   &pCtx->hwvirt.vmx.pShadowVmcsR0,
     
    13401339         */
    13411340        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);
    13431342        memset(pCtx->hwvirt.vmx.CTX_SUFF(pvVmreadBitmap),      0, VMX_V_VMREAD_VMWRITE_BITMAP_SIZE);
    13441343        memset(pCtx->hwvirt.vmx.CTX_SUFF(pvVmwriteBitmap),     0, VMX_V_VMREAD_VMWRITE_BITMAP_SIZE);
     
    13711370
    13721371    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);
    13741373    pCtx->hwvirt.vmx.GCPhysVmxon       = NIL_RTGCPHYS;
    13751374    pCtx->hwvirt.vmx.GCPhysShadowVmcs  = NIL_RTGCPHYS;
     
    14281427        VMXFEATDUMP("UncondIoExit - Unconditional I/O exiting               ", fVmxUncondIoExit);
    14291428        VMXFEATDUMP("UseIoBitmaps - Use I/O bitmaps                         ", fVmxUseIoBitmaps);
    1430         VMXFEATDUMP("MonitorTrapFlag - Monitor trap flag                    ", fVmxMonitorTrapFlag);
     1429        VMXFEATDUMP("MonitorTrapFlag - Monitor Trap Flag                    ", fVmxMonitorTrapFlag);
    14311430        VMXFEATDUMP("UseMsrBitmaps - MSR bitmaps                            ", fVmxUseMsrBitmaps);
    14321431        VMXFEATDUMP("MonitorExit - MONITOR exiting                          ", fVmxMonitorExit);
     
    14701469        VMXFEATDUMP("ExitSaveEferLma - Save IA32_EFER.LMA on VM-exit        ", fVmxExitSaveEferLma);
    14711470        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);
    14731472        VMXFEATDUMP("EntryInjectSoftInt - Inject softint. with 0-len instr. ", fVmxEntryInjectSoftInt);
    14741473#undef VMXFEATDUMP
     
    18941893    EmuFeat.fVmxExitSaveEferLma       = 1;
    18951894    EmuFeat.fVmxIntelPt               = 0;
    1896     EmuFeat.fVmxVmwriteAll            = 0;
     1895    EmuFeat.fVmxVmwriteAll            = 0;  /** @todo NSTVMX: enable this. */
    18971896    EmuFeat.fVmxEntryInjectSoftInt    = 0;
    18981897
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette