VirtualBox

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


Ignore:
Timestamp:
Sep 17, 2021 8:43:17 PM (3 years ago)
Author:
vboxsync
Message:

VMM/CPUM,++: Moved the nested VT-X MSR permission bitmap allocations into CPUMCTX. bugref:10093

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

Legend:

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

    r91301 r91304  
    288288    .hwvirt.vmx.aExitMsrStoreArea       resb        0x2000
    289289    .hwvirt.vmx.aExitMsrLoadArea        resb        0x2000
     290    .hwvirt.vmx.abMsrBitmap             resb        0x1000
    290291    alignb 8
    291292    .hwvirt.vmx.GCPhysVmxon             resq        1
     
    302303    .hwvirt.vmx.pvVirtApicPageR0        resq        1
    303304    .hwvirt.vmx.pvVirtApicPageR3        resq        1
    304     .hwvirt.vmx.pvMsrBitmapR0           resq        1
    305     .hwvirt.vmx.pvMsrBitmapR3           resq        1
    306305    .hwvirt.vmx.pvIoBitmapR0            resq        1
    307306    .hwvirt.vmx.pvIoBitmapR3            resq        1
  • trunk/include/VBox/vmm/cpumctx.h

    r91301 r91304  
    553553                /** 0xc000 - The VM-exit MSR-load area. */
    554554                VMXAUTOMSR              aExitMsrLoadArea[VMX_V_AUTOMSR_AREA_SIZE / sizeof(VMXAUTOMSR)];
     555                /** 0xe000 - The MSR permission bitmap. */
     556                uint8_t                 abMsrBitmap[VMX_V_MSR_BITMAP_SIZE];
    555557
    556558                /** 0x300 - Guest physical address of the VMXON region. */
     
    582584                /** 0x358 - The virtual-APIC page - R3 ptr. */
    583585                R3PTRTYPE(void *)       pvVirtApicPageR3;
    584                 /** 0x3b0 - MSR bitmap - R0 ptr. */
    585                 R0PTRTYPE(void *)       pvMsrBitmapR0;
    586                 /** 0x3b8 - The MSR bitmap - R3 ptr. */
    587                 R3PTRTYPE(void *)       pvMsrBitmapR3;
    588586                /** 0x3c0 - The I/O bitmap - R0 ptr. */
    589587                R0PTRTYPE(void *)       pvIoBitmapR0;
     
    624622#endif
    625623        /** 0x530 - Pad to 64 byte boundary. */
    626         uint8_t                 abPadding0[8];
     624        uint8_t                 abPadding0[8+16];
    627625    } hwvirt;
    628626} CPUMCTX;
     
    840838AssertCompileMemberAlignment(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.aExitMsrStoreArea,     X86_PAGE_SIZE);
    841839AssertCompileMemberAlignment(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.aExitMsrLoadArea,      X86_PAGE_SIZE);
    842 AssertCompileMemberAlignment(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pvMsrBitmapR0,         8);
     840AssertCompileMemberAlignment(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.abMsrBitmap,           X86_PAGE_SIZE);
    843841AssertCompileMemberAlignment(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pvIoBitmapR0,          8);
    844842AssertCompileMemberAlignment(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.Msrs,                  8);
  • trunk/include/VBox/vmm/vm.h

    r91301 r91304  
    305305        CPUMCTX             GstCtx;
    306306#endif
    307         uint8_t             padding[86016];      /* multiple of 4096 */
     307        uint8_t             padding[90112];      /* multiple of 4096 */
    308308    } cpum;
    309309
  • trunk/include/VBox/vmm/vm.mac

    r91301 r91304  
    9191    .pgm                    resb 4096+28672
    9292    alignb 4096
    93     .cpum                   resb 86016
     93    .cpum                   resb 90112
    9494%define VMCPU.cpum.GstCtx   VMCPU.cpum
    9595    alignb 4096
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