VirtualBox

Changeset 91298 in vbox for trunk/include/VBox/vmm


Ignore:
Timestamp:
Sep 17, 2021 12:02:38 PM (3 years ago)
Author:
vboxsync
Message:

VMM/CPUM,++: Moved the nested VT-X shadow VMCS allocation into CPUMCTX. bugref:10093

Location:
trunk/include/VBox/vmm
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/vmm/cpum.mac

    r91291 r91298  
    265265
    266266    alignb 4096
     267    .hwvirt                             resb        0
     268    .hwvirt.svm                         resb        0
     269    .hwvirt.vmx                         resb        0
    267270    .hwvirt.svm.Vmcb                    resb        4096
    268271    .hwvirt.svm.abMsrBitmap             resb        8192
     
    277280    .hwvirt.svm.fInterceptEvents       resb          1
    278281    ;.unnamed_padding.1 resb 0
     282
     283    .hwvirt.vmx.Vmcs                    EQU (.hwvirt.vmx )
     284    .hwvirt.vmx.ShadowVmcs              EQU (.hwvirt.vmx + 0x1000)
     285
    279286    alignb 8
    280287    .hwvirt.enmHwvirt                  resd          1
  • trunk/include/VBox/vmm/cpumctx.h

    r91297 r91298  
    541541                /** 0x4000 - The current VMCS. */
    542542                VMXVVMCS                Vmcs;
     543                /** 0X5000 - The shadow VMCS. */
     544                VMXVVMCS                ShadowVmcs;
    543545
    544546                /** 0x300 - Guest physical address of the VMXON region. */
     
    566568                 *  mode before execution of IRET. */
    567569                bool                    fNmiUnblockingIret;
    568                 /** 0X340 - The shadow VMCS - R0 ptr. */
    569                 R0PTRTYPE(PVMXVVMCS)    pShadowVmcsR0;
    570                 /** 0x348 - The shadow VMCS - R3 ptr. */
    571                 R3PTRTYPE(PVMXVVMCS)    pShadowVmcsR3;
    572570                /** 0x350 - The virtual-APIC page - R0 ptr. */
    573571                R0PTRTYPE(void *)       pvVirtApicPageR0;
     
    846844AssertCompileMemberAlignment(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) svm.abIoBitmap,            X86_PAGE_SIZE);
    847845AssertCompileMemberAlignment(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.Vmcs,                  X86_PAGE_SIZE);
    848 AssertCompileMemberAlignment(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pShadowVmcsR0,         8);
     846AssertCompileMemberAlignment(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.ShadowVmcs,            X86_PAGE_SIZE);
    849847AssertCompileMemberAlignment(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pvVmreadBitmapR0,      8);
    850848AssertCompileMemberAlignment(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pvVmwriteBitmapR0,     8);
Note: See TracChangeset for help on using the changeset viewer.

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