Print this page
XXXX define x2apic feature flag
@@ -114,10 +114,11 @@
/* 0x00010000 - reserved */
/* 0x00020000 - reserved */
#define CPUID_INTC_ECX_DCA 0x00040000 /* direct cache access */
#define CPUID_INTC_ECX_SSE4_1 0x00080000 /* SSE4.1 insns */
#define CPUID_INTC_ECX_SSE4_2 0x00100000 /* SSE4.2 insns */
+#define CPUID_INTC_ECX_X2APIC 0x00200000 /* x2APIC */
#define CPUID_INTC_ECX_MOVBE 0x00400000 /* MOVBE insn */
#define CPUID_INTC_ECX_POPCNT 0x00800000 /* POPCNT insn */
#define CPUID_INTC_ECX_AES 0x02000000 /* AES insns */
#define CPUID_INTC_ECX_XSAVE 0x04000000 /* XSAVE/XRESTOR insns */
#define CPUID_INTC_ECX_OSXSAVE 0x08000000 /* OS supports XSAVE insns */
@@ -128,11 +129,11 @@
#define FMT_CPUID_INTC_ECX \
"\20" \
"\37rdrand\36f16c\35avx\34osxsav\33xsave" \
"\32aes" \
- "\30popcnt\27movbe\25sse4.2\24sse4.1\23dca" \
+ "\30popcnt\27movbe\26x2apic\25sse4.2\24sse4.1\23dca" \
"\20\17etprd\16cx16\13cid\12ssse3\11tm2" \
"\10est\7smx\6vmx\5dscpl\4mon\2pclmulqdq\1sse3"
/*
* cpuid instruction feature flags in %edx (extended function 0x80000001)
@@ -377,10 +378,11 @@
#define X86FSET_VMX 35
#define X86FSET_SVM 36
#define X86FSET_TOPOEXT 37
#define X86FSET_F16C 38
#define X86FSET_RDRAND 39
+#define X86FSET_X2APIC 40
/*
* flags to patch tsc_read routine.
*/
#define X86_NO_TSC 0x0
@@ -637,11 +639,11 @@
#if !defined(_ASM)
#if defined(_KERNEL) || defined(_KMEMUSER)
-#define NUM_X86_FEATURES 40
+#define NUM_X86_FEATURES 41
extern uchar_t x86_featureset[];
extern void free_x86_featureset(void *featureset);
extern boolean_t is_x86_feature(void *featureset, uint_t feature);
extern void add_x86_feature(void *featureset, uint_t feature);