VirtualBox

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


Ignore:
Timestamp:
Feb 8, 2018 3:11:15 PM (7 years ago)
Author:
vboxsync
Message:

CPUM: Infrastructure for speculative execution control.

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

Legend:

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

    r70781 r70913  
    7474    /** The MWait Extensions bits (Std) */
    7575    CPUMCPUIDFEATURE_MWAIT_EXTS,
     76    /** The speculation control feature bits. (StExt) */
     77    CPUMCPUIDFEATURE_SPEC_CTRL,
    7678    /** 32bit hackishness. */
    7779    CPUMCPUIDFEATURE_32BIT_HACK = 0x7fffffff
     
    470472    kCpumMsrRdFn_Ia32VmxTrueEntryCtls,      /**< Takes real value as reference. */
    471473    kCpumMsrRdFn_Ia32VmxVmFunc,             /**< Takes real value as reference. */
     474    kCpumMsrRdFn_Ia32SpecCtrl,
     475    kCpumMsrRdFn_Ia32ArchCapabilities,
    472476
    473477    kCpumMsrRdFn_Amd64Efer,
     
    722726    kCpumMsrWrFn_Ia32X2ApicN,
    723727    kCpumMsrWrFn_Ia32DebugInterface,
     728    kCpumMsrWrFn_Ia32SpecCtrl,
     729    kCpumMsrWrFn_Ia32PredCmd,
    724730
    725731    kCpumMsrWrFn_Amd64Efer,
     
    10721078    uint32_t        fVmx : 1;
    10731079
     1080    /** Indicates that speculative execution control CPUID bits and
     1081     *  MSRs are exposed. The details are different for Intel and
     1082     * AMD but both have similar functionality. */
     1083    uint32_t        fSpeculationControl : 1;
     1084
    10741085    /** Alignment padding / reserved for future use. */
    1075     uint32_t        fPadding : 16;
     1086    uint32_t        fPadding : 15;
    10761087
    10771088    /** SVM: Supports Nested-paging. */
  • trunk/include/VBox/vmm/cpumctx.h

    r70732 r70913  
    778778        uint64_t    MtrrFix4K_F8000;    /**< IA32_MTRR_FIX4K_F8000 */
    779779        uint64_t    PkgCStateCfgCtrl;   /**< MSR_PKG_CST_CONFIG_CONTROL */
     780        uint64_t    SpecCtrl;           /**< IA32_SPEC_CTRL */
     781        uint64_t    ArchCaps;           /**< IA32_ARCH_CAPABILITIES */
    780782    } msr;
    781783    uint64_t    au64[64];
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