|
@@ -29,6 +29,7 @@ enum cpuid_leafs
|
|
|
CPUID_8000_000A_EDX,
|
|
|
CPUID_7_ECX,
|
|
|
CPUID_8000_0007_EBX,
|
|
|
+ CPUID_7_EDX,
|
|
|
};
|
|
|
|
|
|
#ifdef CONFIG_X86_FEATURE_NAMES
|
|
@@ -79,8 +80,9 @@ extern const char * const x86_bug_flags[NBUGINTS*32];
|
|
|
CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 15, feature_bit) || \
|
|
|
CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 16, feature_bit) || \
|
|
|
CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 17, feature_bit) || \
|
|
|
+ CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 18, feature_bit) || \
|
|
|
REQUIRED_MASK_CHECK || \
|
|
|
- BUILD_BUG_ON_ZERO(NCAPINTS != 18))
|
|
|
+ BUILD_BUG_ON_ZERO(NCAPINTS != 19))
|
|
|
|
|
|
#define DISABLED_MASK_BIT_SET(feature_bit) \
|
|
|
( CHECK_BIT_IN_MASK_WORD(DISABLED_MASK, 0, feature_bit) || \
|
|
@@ -101,8 +103,9 @@ extern const char * const x86_bug_flags[NBUGINTS*32];
|
|
|
CHECK_BIT_IN_MASK_WORD(DISABLED_MASK, 15, feature_bit) || \
|
|
|
CHECK_BIT_IN_MASK_WORD(DISABLED_MASK, 16, feature_bit) || \
|
|
|
CHECK_BIT_IN_MASK_WORD(DISABLED_MASK, 17, feature_bit) || \
|
|
|
+ CHECK_BIT_IN_MASK_WORD(DISABLED_MASK, 18, feature_bit) || \
|
|
|
DISABLED_MASK_CHECK || \
|
|
|
- BUILD_BUG_ON_ZERO(NCAPINTS != 18))
|
|
|
+ BUILD_BUG_ON_ZERO(NCAPINTS != 19))
|
|
|
|
|
|
#define cpu_has(c, bit) \
|
|
|
(__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
|