Print this page
9215 update CPUID defines

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/intel/sys/x86_archext.h
          +++ new/usr/src/uts/intel/sys/x86_archext.h
↓ open down ↓ 83 lines elided ↑ open up ↑
  84   84  #define CPUID_INTC_EDX_TM       0x20000000      /* thermal monitoring */
  85   85  #define CPUID_INTC_EDX_IA64     0x40000000      /* Itanium emulating IA32 */
  86   86  #define CPUID_INTC_EDX_PBE      0x80000000      /* Pending Break Enable */
  87   87  
  88   88  /*
  89   89   * cpuid instruction feature flags in %ecx (standard function 1)
  90   90   */
  91   91  
  92   92  #define CPUID_INTC_ECX_SSE3     0x00000001      /* Yet more SSE extensions */
  93   93  #define CPUID_INTC_ECX_PCLMULQDQ 0x00000002     /* PCLMULQDQ insn */
  94      -                                                /* 0x00000004 - reserved */
       94 +#define CPUID_INTC_ECX_DTES64   0x00000004      /* 64-bit DS area */
  95   95  #define CPUID_INTC_ECX_MON      0x00000008      /* MONITOR/MWAIT */
  96   96  #define CPUID_INTC_ECX_DSCPL    0x00000010      /* CPL-qualified debug store */
  97   97  #define CPUID_INTC_ECX_VMX      0x00000020      /* Hardware VM extensions */
  98   98  #define CPUID_INTC_ECX_SMX      0x00000040      /* Secure mode extensions */
  99   99  #define CPUID_INTC_ECX_EST      0x00000080      /* enhanced SpeedStep */
 100  100  #define CPUID_INTC_ECX_TM2      0x00000100      /* thermal monitoring */
 101  101  #define CPUID_INTC_ECX_SSSE3    0x00000200      /* Supplemental SSE3 insns */
 102  102  #define CPUID_INTC_ECX_CID      0x00000400      /* L1 context ID */
 103  103                                                  /* 0x00000800 - reserved */
 104  104  #define CPUID_INTC_ECX_FMA      0x00001000      /* Fused Multiply Add */
 105  105  #define CPUID_INTC_ECX_CX16     0x00002000      /* cmpxchg16 */
 106  106  #define CPUID_INTC_ECX_ETPRD    0x00004000      /* extended task pri messages */
 107      -                                                /* 0x00008000 - reserved */
      107 +#define CPUID_INTC_ECX_PDCM     0x00008000      /* Perf/Debug Capability MSR */
 108  108                                                  /* 0x00010000 - reserved */
 109      -                                                /* 0x00020000 - reserved */
      109 +#define CPUID_INTC_ECX_PCID     0x00020000      /* process-context ids */
 110  110  #define CPUID_INTC_ECX_DCA      0x00040000      /* direct cache access */
 111  111  #define CPUID_INTC_ECX_SSE4_1   0x00080000      /* SSE4.1 insns */
 112  112  #define CPUID_INTC_ECX_SSE4_2   0x00100000      /* SSE4.2 insns */
 113  113  #define CPUID_INTC_ECX_X2APIC   0x00200000      /* x2APIC */
 114  114  #define CPUID_INTC_ECX_MOVBE    0x00400000      /* MOVBE insn */
 115  115  #define CPUID_INTC_ECX_POPCNT   0x00800000      /* POPCNT insn */
      116 +#define CPUID_INTC_ECX_TSCDL    0x01000000      /* Deadline TSC */
 116  117  #define CPUID_INTC_ECX_AES      0x02000000      /* AES insns */
 117  118  #define CPUID_INTC_ECX_XSAVE    0x04000000      /* XSAVE/XRESTOR insns */
 118  119  #define CPUID_INTC_ECX_OSXSAVE  0x08000000      /* OS supports XSAVE insns */
 119  120  #define CPUID_INTC_ECX_AVX      0x10000000      /* AVX supported */
 120  121  #define CPUID_INTC_ECX_F16C     0x20000000      /* F16C supported */
 121  122  #define CPUID_INTC_ECX_RDRAND   0x40000000      /* RDRAND supported */
 122  123  #define CPUID_INTC_ECX_HV       0x80000000      /* Hypervisor */
 123  124  
 124  125  /*
 125  126   * cpuid instruction feature flags in %edx (extended function 0x80000001)
↓ open down ↓ 37 lines elided ↑ open up ↑
 163  164  #define CPUID_AMD_ECX_CMP_LGCY  0x00000002      /* AMD: multicore chip */
 164  165  #define CPUID_AMD_ECX_SVM       0x00000004      /* AMD: secure VM */
 165  166  #define CPUID_AMD_ECX_EAS       0x00000008      /* extended apic space */
 166  167  #define CPUID_AMD_ECX_CR8D      0x00000010      /* AMD: 32-bit mov %cr8 */
 167  168  #define CPUID_AMD_ECX_LZCNT     0x00000020      /* AMD: LZCNT insn */
 168  169  #define CPUID_AMD_ECX_SSE4A     0x00000040      /* AMD: SSE4A insns */
 169  170  #define CPUID_AMD_ECX_MAS       0x00000080      /* AMD: MisAlignSse mnode */
 170  171  #define CPUID_AMD_ECX_3DNP      0x00000100      /* AMD: 3DNowPrefectch */
 171  172  #define CPUID_AMD_ECX_OSVW      0x00000200      /* AMD: OSVW */
 172  173  #define CPUID_AMD_ECX_IBS       0x00000400      /* AMD: IBS */
 173      -#define CPUID_AMD_ECX_SSE5      0x00000800      /* AMD: SSE5 */
      174 +#define CPUID_AMD_ECX_SSE5      0x00000800      /* AMD: Extended AVX */
 174  175  #define CPUID_AMD_ECX_SKINIT    0x00001000      /* AMD: SKINIT */
 175  176  #define CPUID_AMD_ECX_WDT       0x00002000      /* AMD: WDT */
      177 +                                /* 0x00004000 - reserved */
      178 +#define CPUID_AMD_ECX_LWP       0x00008000      /* AMD: Lightweight profiling */
      179 +#define CPUID_AMD_ECX_FMA4      0x00010000      /* AMD: 4-operand FMA support */
      180 +                                /* 0x00020000 - reserved */
      181 +                                /* 0x00040000 - reserved */
      182 +#define CPUID_AMD_ECX_NIDMSR    0x00080000      /* AMD: Node ID MSR */
      183 +                                /* 0x00100000 - reserved */
      184 +#define CPUID_AMD_ECX_TBM       0x00200000      /* AMD: trailing bit manips. */
 176  185  #define CPUID_AMD_ECX_TOPOEXT   0x00400000      /* AMD: Topology Extensions */
 177  186  
 178  187  /*
 179  188   * AMD uses %ebx for some of their features (extended function 0x80000008).
 180  189   */
 181  190  #define CPUID_AMD_EBX_ERR_PTR_ZERO      0x00000004 /* AMD: FP Err. Ptr. Zero */
 182  191  
 183  192  /*
 184  193   * Intel now seems to have claimed part of the "extended" function
 185  194   * space that we previously for non-Intel implementors to use.
↓ open down ↓ 737 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX