VirtualBox

Changeset 74054 in vbox for trunk/include/VBox


Ignore:
Timestamp:
Sep 4, 2018 5:23:52 AM (6 years ago)
Author:
vboxsync
Message:

VMM: Nested VMX: bugref:9180 vmlaunch/vmresume bits.

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

Legend:

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

    r74043 r74054  
    11931193    /** VMX: Supports RDTSCP. */
    11941194    uint32_t        fVmxRdtscp : 1;
    1195     /** VMX: Supports virtualize-x2APIC access. */
    1196     uint32_t        fVmxVirtX2ApicAccess : 1;
     1195    /** VMX: Supports virtualize-x2APIC mode. */
     1196    uint32_t        fVmxVirtX2ApicMode : 1;
    11971197    /** VMX: Supports VPID. */
    11981198    uint32_t        fVmxVpid : 1;
  • trunk/include/VBox/vmm/cpumctx.h

    r74048 r74054  
    660660AssertCompileMemberAlignment(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) svm.pvMsrBitmapR0, 8);
    661661AssertCompileMemberAlignment(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) svm.pvIoBitmapR0,  8);
     662AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.GCPhysVmxon,            0x2e0);
     663AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.GCPhysVmcs,             0x2e8);
     664AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.enmInstrDiag,           0x2f0);
     665AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.fInVmxRootMode,         0x2f4);
     666AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.fInVmxNonRootMode,      0x2f5);
     667AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pVmcsR0,                0x2f8);
     668AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pVmcsR3,                0x300);
     669AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pShadowVmcsR0,          0x308);
     670AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pShadowVmcsR3,          0x310);
     671AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pvVirtApicPageR0,       0x318);
     672AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pvVirtApicPageR3,       0x320);
     673AssertCompileMemberAlignment(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pVmcsR0,          8);
     674AssertCompileMemberAlignment(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pShadowVmcsR0,    8);
     675AssertCompileMemberAlignment(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pvVirtApicPageR0, 8);
    662676
    663677AssertCompileMembersAtSameOffset(CPUMCTX, CPUM_UNION_STRUCT_NM(g,qw.) rax, CPUMCTX, CPUM_UNION_NM(g.) aGRegs);
  • trunk/include/VBox/vmm/hm_vmx.h

    r74047 r74054  
    18301830 * @{
    18311831 */
    1832 /** External interrupts cause VM-exits if set; otherwise dispatched through the
    1833  *  guest's IDT. */
     1832/** External interrupt exiting. */
    18341833#define VMX_PIN_CTLS_EXT_INT_EXIT                               RT_BIT(0)
    1835 /** Non-maskable interrupts cause VM-exits if set; otherwise dispatched through
    1836  *  the guest's IDT. */
     1834/** NMI exiting. */
    18371835#define VMX_PIN_CTLS_NMI_EXIT                                   RT_BIT(3)
    18381836/** Virtual NMIs. */
     
    19951993#define VMX_PROC_CTLS2_RDTSCP                                   RT_BIT(3)
    19961994/** Virtualize x2APIC mode. */
    1997 #define VMX_PROC_CTLS2_VIRT_X2APIC_ACCESS                       RT_BIT(4)
     1995#define VMX_PROC_CTLS2_VIRT_X2APIC_MODE                         RT_BIT(4)
    19981996/** VPID supported/enabled. */
    19991997#define VMX_PROC_CTLS2_VPID                                     RT_BIT(5)
     
    20412039#define VMX_BF_PROC_CTLS2_RDTSCP_SHIFT                          3
    20422040#define VMX_BF_PROC_CTLS2_RDTSCP_MASK                           UINT32_C(0x00000008)
    2043 #define VMX_BF_PROC_CTLS2_VIRT_X2APIC_ACCESS_SHIFT              4
    2044 #define VMX_BF_PROC_CTLS2_VIRT_X2APIC_ACCESS_MASK               UINT32_C(0x00000010)
     2041#define VMX_BF_PROC_CTLS2_VIRT_X2APIC_MODE_SHIFT                4
     2042#define VMX_BF_PROC_CTLS2_VIRT_X2APIC_MODE_MASK                 UINT32_C(0x00000010)
    20452043#define VMX_BF_PROC_CTLS2_VPID_SHIFT                            5
    20462044#define VMX_BF_PROC_CTLS2_VPID_MASK                             UINT32_C(0x00000020)
     
    20822080#define VMX_BF_PROC_CTLS2_UNDEF_26_31_MASK                      UINT32_C(0xfc000000)
    20832081RT_BF_ASSERT_COMPILE_CHECKS(VMX_BF_PROC_CTLS2_, UINT32_C(0), UINT32_MAX,
    2084                             (VIRT_APIC_ACCESS, EPT, DESC_TABLE_EXIT, RDTSCP, VIRT_X2APIC_ACCESS, VPID, WBINVD_EXIT,
     2082                            (VIRT_APIC_ACCESS, EPT, DESC_TABLE_EXIT, RDTSCP, VIRT_X2APIC_MODE, VPID, WBINVD_EXIT,
    20852083                             UNRESTRICTED_GUEST, APIC_REG_VIRT, VIRT_INT_DELIVERY, PAUSE_LOOP_EXIT, RDRAND_EXIT, INVPCID, VMFUNC,
    20862084                             VMCS_SHADOWING, ENCLS_EXIT, RDSEED_EXIT, PML, EPT_VE, CONCEAL_FROM_PT, XSAVES_XRSTORS, UNDEF_21_24,
     
    34373435    kVmxVInstrDiag_Vmread_VmxRoot,
    34383436    /* VMLAUNCH/VMRESUME. */
     3437    kVmxVInstrDiag_Vmentry_AddrApicAccess,
    34393438    kVmxVInstrDiag_Vmentry_AddrIoBitmapA,
    34403439    kVmxVInstrDiag_Vmentry_AddrIoBitmapB,
    34413440    kVmxVInstrDiag_Vmentry_AddrMsrBitmap,
    34423441    kVmxVInstrDiag_Vmentry_AddrVirtApicPage,
     3442    kVmxVInstrDiag_Vmentry_AddrVmreadBitmap,
     3443    kVmxVInstrDiag_Vmentry_AddrVmwriteBitmap,
     3444    kVmxVInstrDiag_Vmentry_ApicRegVirt,
    34433445    kVmxVInstrDiag_Vmentry_BlocKMovSS,
    34443446    kVmxVInstrDiag_Vmentry_Cpl,
     
    34593461    kVmxVInstrDiag_Vmentry_TprThresholdVTpr,
    34603462    kVmxVInstrDiag_Vmentry_VirtApicPagePtrReadPhys,
     3463    kVmxVInstrDiag_Vmentry_VirtIntDelivery,
    34613464    kVmxVInstrDiag_Vmentry_VirtNmi,
     3465    kVmxVInstrDiag_Vmentry_VirtX2ApicTprShadow,
     3466    kVmxVInstrDiag_Vmentry_VirtX2ApicVirtApic,
    34623467    kVmxVInstrDiag_Vmentry_VmcsClear,
    34633468    kVmxVInstrDiag_Vmentry_VmcsLaunch,
    34643469    kVmxVInstrDiag_Vmentry_VmxRoot,
     3470    kVmxVInstrDiag_Vmentry_Vpid,
    34653471    /* Last member for determining array index limit. */
    34663472    kVmxVInstrDiag_Last
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