VirtualBox

Changeset 50765 in vbox


Ignore:
Timestamp:
Mar 13, 2014 12:53:10 PM (11 years ago)
Author:
vboxsync
Message:

include/iprt, Runtime/common: Added defines for newer Intel CPU features and CR4.SMAP.

Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/iprt/x86.h

    r50255 r50765  
    531531
    532532
     533/** @name CPUID Structured Extended Feature information.
     534 * CPUID query with EAX=7.
     535 * @{
     536 */
     537/** EBX Bit 0 - FSGSBASE - Supports RDFSBASE/RDGSBASE/WRFSBASE/WRGSBASE. */
     538#define X86_CPUID_STEXT_FEATURE_EBX_FSGSBASE          RT_BIT(0)
     539/** EBX Bit 1 - TSCADJUST - Supports MSR_IA32_TSC_ADJUST. */
     540#define X86_CPUID_STEXT_FEATURE_EBX_TSC_ADJUST        RT_BIT(1)
     541/** EBX Bit 3 - BMI1 - Advanced Bit Manipulation extension 1. */
     542#define X86_CPUID_STEXT_FEATURE_EBX_BMI1              RT_BIT(3)
     543/** EBX Bit 4 - HLE - Hardware Lock Elision. */
     544#define X86_CPUID_STEXT_FEATURE_EBX_HLE               RT_BIT(4)
     545/** EBX Bit 5 - AVX2 - Advanced Vector Extensions 2. */
     546#define X86_CPUID_STEXT_FEATURE_EBX_AVX2              RT_BIT(5)
     547/** EBX Bit 7 - SMEP - Supervisor Mode Execution Prevention. */
     548#define X86_CPUID_STEXT_FEATURE_EBX_SMEP              RT_BIT(7)
     549/** EBX Bit 8 - BMI2 - Advanced Bit Manipulation extension 2. */
     550#define X86_CPUID_STEXT_FEATURE_EBX_BMI2              RT_BIT(8)
     551/** EBX Bit 9 - ERMS - Supports Enhanced REP MOVSB/STOSB. */
     552#define X86_CPUID_STEXT_FEATURE_EBX_ERMS              RT_BIT(9)
     553/** EBX Bit 10 - INVPCID - Supports INVPCID. */
     554#define X86_CPUID_STEXT_FEATURE_EBX_INVPCID           RT_BIT(10)
     555/** EBX Bit 11 - RTM - Supports Restricted Transactional Memory. */
     556#define X86_CPUID_STEXT_FEATURE_EBX_RTM               RT_BIT(11)
     557/** EBX Bit 12 - PQM - Supports Platform Quality of Service Monitoring. */
     558#define X86_CPUID_STEXT_FEATURE_EBX_PQM               RT_BIT(12)
     559/** EBX Bit 13 - DEPFPU_CS_DS - Deprecates FPU CS, FPU DS values if set. */
     560#define X86_CPUID_STEXT_FEATURE_EBX_DEPR_FPU_CS_DS    RT_BIT(13)
     561/** EBX Bit 14 - MPE - Supports Intel Memory Protection Extensions. */
     562#define X86_CPUID_STEXT_FEATURE_EBX_MPE               RT_BIT(14)
     563/** EBX Bit 15 - PQE - Supports Platform Quality of Service Enforcement. */
     564#define X86_CPUID_STEXT_FEATURE_EBX_PQE               RT_BIT(15)
     565/** EBX Bit 16 - AVX512F - Supports AVX512F. */
     566#define X86_CPUID_STEXT_FEATURE_EBX_AVX512F           RT_BIT(16)
     567/** EBX Bit 18 - RDSEED - Supports RDSEED. */
     568#define X86_CPUID_STEXT_FEATURE_EBX_RDSEED            RT_BIT(18)
     569/** EBX Bit 19 - ADX - Supports ADCX/ADOX. */
     570#define X86_CPUID_STEXT_FEATURE_EBX_ADX               RT_BIT(19)
     571/** EBX Bit 20 - SMAP - Supports Supervisor Mode Access Prevention. */
     572#define X86_CPUID_STEXT_FEATURE_EBX_SMAP              RT_BIT(20)
     573/** EBX Bit 23 - CLFLUSHOPT - Supports CLFLUSHOPT (Cache Line Flush). */
     574#define X86_CPUID_STEXT_FEATURE_EBX_CLFLUSHOPT        RT_BIT(23)
     575/** EBX Bit 25 - INTEL_PT - Supports Intel Processor Trace. */
     576#define X86_CPUID_STEXT_FEATURE_EBX_INTEL_PT          RT_BIT(25)
     577/** EBX Bit 26 - AVX512PF - Supports AVX512PF. */
     578#define X86_CPUID_STEXT_FEATURE_EBX_AVX512PF          RT_BIT(26)
     579/** EBX Bit 27 - AVX512ER - Supports AVX512ER. */
     580#define X86_CPUID_STEXT_FEATURE_EBX_AVX512ER          RT_BIT(27)
     581/** EBX Bit 28 - AVX512CD - Supports AVX512CD. */
     582#define X86_CPUID_STEXT_FEATURE_EBX_AVX512CD          RT_BIT(28)
     583/** EBX Bit 29 - SHA - Supports Secure Hash Algorithm extensions. */
     584#define X86_CPUID_STEXT_FEATURE_EBX_SHA               RT_BIT(29)
     585/** @} */
     586
     587
    533588/** @name CPUID Extended Feature information.
    534589 *  CPUID query with EAX=0x80000001.
     
    742797/** Bit 20 - SMEP - Supervisor-mode Execution Prevention enabled. */
    743798#define X86_CR4_SMEP                        RT_BIT(20)
     799/** Bit 21 - SMAP - Supervisor-mode Access Prevention enabled. */
     800#define X86_CR4_SMAP                        RT_BIT(21)
    744801/** @} */
    745802
     
    9641021#define MSR_IA32_FEATURE_CONTROL_SMX_VMXON  RT_BIT(1)
    9651022#define MSR_IA32_FEATURE_CONTROL_VMXON      RT_BIT(2)
     1023
     1024/** Per-processor TSC adjust MSR. */
     1025#define MSR_IA32_TSC_ADJUST                 0x3B
    9661026
    9671027/** BIOS update trigger (microcode update). */
  • trunk/include/iprt/x86.mac

    r50255 r50765  
    211211%define X86_CR4_OSXSAVE                     RT_BIT(18)
    212212%define X86_CR4_SMEP                        RT_BIT(20)
     213%define X86_CR4_SMAP                        RT_BIT(21)
    213214%define X86_DR6_B0                          RT_BIT(0)
    214215%define X86_DR6_B1                          RT_BIT(1)
  • trunk/src/VBox/Runtime/common/string/strformatrt.cpp

    r50367 r50765  
    11671167                        REG_OUT_BIT(cr4, X86_CR4_OSXSAVE, "OSXSAVE");
    11681168                        REG_OUT_BIT(cr4, X86_CR4_SMEP, "SMEP");
     1169                        REG_OUT_BIT(cr4, X86_CR4_SMAP, "SMAP");
    11691170                        REG_OUT_CLOSE(cr4);
    11701171                    }
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