VirtualBox

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


Ignore:
Timestamp:
Sep 3, 2018 4:10:27 PM (7 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
124803
Message:

VMM/IEM, HM: Nested VMX: bugref:9180 vmlaunch/vmresume bits.

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

Legend:

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

    r73937 r74047  
    572572                uint32_t                uShadowVmcsR3Padding;
    573573#endif
    574                 /** 0x318 - Padding. */
    575                 uint8_t             abPadding[0x3f0 - 0x318];
     574                /** 0x318 - Cache of the nested-guest Virtual-APIC page - R0 ptr. */
     575                R0PTRTYPE(void *)       pvVirtApicPageR0;
     576#if HC_ARCH_BITS == 32
     577                uint32_t                uVirtApicPageR3Padding;
     578#endif
     579                /** 0x320 - Cache of the nested-guest Virtual-APIC page - R3 ptr. */
     580                R3PTRTYPE(void *)       pvVirtApicPageR3;
     581#if HC_ARCH_BITS == 32
     582                uint32_t                uVirtApicPageR3Padding;
     583#endif
     584                /** 0x328 - Padding. */
     585                uint8_t             abPadding[0x3f0 - 0x328];
    576586            } vmx;
    577587        } CPUM_UNION_NM(s);
  • trunk/include/VBox/vmm/hm_vmx.h

    r74043 r74047  
    23772377
    23782378
     2379/** @name TPR threshold.
     2380 * @{ */
     2381/** Mask of the TPR threshold field (bits 31:4 MBZ). */
     2382#define VMX_TPR_THRESHOLD_MASK                                   UINT32_C(0xf)
     2383
     2384/** Bit fields for TPR threshold. */
     2385#define VMX_BF_TPR_THRESHOLD_TPR_SHIFT                           0
     2386#define VMX_BF_TPR_THRESHOLD_TPR_MASK                            UINT32_C(0x0000000f)
     2387#define VMX_BF_TPR_THRESHOLD_RSVD_4_31_SHIFT                     4
     2388#define VMX_BF_TPR_THRESHOLD_RSVD_4_31_MASK                      UINT32_C(0xfffffff0)
     2389RT_BF_ASSERT_COMPILE_CHECKS(VMX_BF_TPR_THRESHOLD_, UINT32_C(0), UINT32_MAX,
     2390                            (TPR, RSVD_4_31));
     2391/** @} */
     2392
     2393
    23792394/** @name Guest-activity states.
    23802395 * @{
     
    27862801#define VMX_V_VMCS_PAGES                                        1
    27872802
     2803/** The size of the Virtual-APIC page (in bytes).  */
     2804#define VMX_V_VIRT_APIC_SIZE                                    X86_PAGE_4K_SIZE
     2805/** The size of the Virtual-APIC page (in pages). */
     2806#define VMX_V_VIRT_APIC_PAGES                                   1
     2807
    27882808/** The highest index value used for supported virtual VMCS field encoding. */
    27892809#define VMX_V_VMCS_MAX_INDEX                                    RT_BF_GET(VMX_VMCS64_CTRL_TSC_MULTIPLIER_HIGH, VMX_BF_VMCS_ENC_INDEX)
     
    29702990    /** 0xb8 - VM-entry instruction length. */
    29712991    uint32_t        u32EntryInstrLen;
    2972     /** 0xbc - TPR-treshold. */
    2973     uint32_t        u32TprTreshold;
     2992    /** 0xbc - TPR-threshold. */
     2993    uint32_t        u32TprThreshold;
    29742994    /** 0xc0 - Secondary-processor based VM-execution controls. */
    29752995    uint32_t        u32ProcCtls2;
     
    34173437    kVmxVInstrDiag_Vmread_VmxRoot,
    34183438    /* VMLAUNCH/VMRESUME. */
     3439    kVmxVInstrDiag_Vmentry_AddrIoBitmapA,
     3440    kVmxVInstrDiag_Vmentry_AddrIoBitmapB,
     3441    kVmxVInstrDiag_Vmentry_AddrMsrBitmap,
     3442    kVmxVInstrDiag_Vmentry_AddrVirtApicPage,
    34193443    kVmxVInstrDiag_Vmentry_BlocKMovSS,
    34203444    kVmxVInstrDiag_Vmentry_Cpl,
    34213445    kVmxVInstrDiag_Vmentry_Cr3TargetCount,
    34223446    kVmxVInstrDiag_Vmentry_LongModeCS,
     3447    kVmxVInstrDiag_Vmentry_NmiWindowExit,
    34233448    kVmxVInstrDiag_Vmentry_PinCtlsAllowed1,
    34243449    kVmxVInstrDiag_Vmentry_PinCtlsDisallowed0,
     
    34313456    kVmxVInstrDiag_Vmentry_RealOrV86Mode,
    34323457    kVmxVInstrDiag_Vmentry_Success,
     3458    kVmxVInstrDiag_Vmentry_TprThreshold,
     3459    kVmxVInstrDiag_Vmentry_TprThresholdVTpr,
     3460    kVmxVInstrDiag_Vmentry_VirtApicPagePtrReadPhys,
     3461    kVmxVInstrDiag_Vmentry_VirtNmi,
    34333462    kVmxVInstrDiag_Vmentry_VmcsClear,
    34343463    kVmxVInstrDiag_Vmentry_VmcsLaunch,
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