x86/cpufeatures: Add new word for scattered features
commit 7f274e609f3d5f45c22b1dd59053f6764458b492 upstream. Add a new word for scattered features because all free bits among the existing Linux-defined auxiliary flags have been exhausted. Signed-off-by: Sandipan Das <sandipan.das@amd.com> Signed-off-by: Ingo Molnar <mingo@kernel.org> Link: https://lore.kernel.org/r/8380d2a0da469a1f0ad75b8954a79fb689599ff6.1711091584.git.sandipan.das@amd.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:

committed by
Greg Kroah-Hartman

parent
77a82b9611
commit
89583ff143
@@ -93,8 +93,9 @@ extern const char * const x86_bug_flags[NBUGINTS*32];
|
|||||||
CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 18, feature_bit) || \
|
CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 18, feature_bit) || \
|
||||||
CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 19, feature_bit) || \
|
CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 19, feature_bit) || \
|
||||||
CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 20, feature_bit) || \
|
CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 20, feature_bit) || \
|
||||||
|
CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 21, feature_bit) || \
|
||||||
REQUIRED_MASK_CHECK || \
|
REQUIRED_MASK_CHECK || \
|
||||||
BUILD_BUG_ON_ZERO(NCAPINTS != 21))
|
BUILD_BUG_ON_ZERO(NCAPINTS != 22))
|
||||||
|
|
||||||
#define DISABLED_MASK_BIT_SET(feature_bit) \
|
#define DISABLED_MASK_BIT_SET(feature_bit) \
|
||||||
( CHECK_BIT_IN_MASK_WORD(DISABLED_MASK, 0, feature_bit) || \
|
( CHECK_BIT_IN_MASK_WORD(DISABLED_MASK, 0, feature_bit) || \
|
||||||
@@ -118,8 +119,9 @@ extern const char * const x86_bug_flags[NBUGINTS*32];
|
|||||||
CHECK_BIT_IN_MASK_WORD(DISABLED_MASK, 18, feature_bit) || \
|
CHECK_BIT_IN_MASK_WORD(DISABLED_MASK, 18, feature_bit) || \
|
||||||
CHECK_BIT_IN_MASK_WORD(DISABLED_MASK, 19, feature_bit) || \
|
CHECK_BIT_IN_MASK_WORD(DISABLED_MASK, 19, feature_bit) || \
|
||||||
CHECK_BIT_IN_MASK_WORD(DISABLED_MASK, 20, feature_bit) || \
|
CHECK_BIT_IN_MASK_WORD(DISABLED_MASK, 20, feature_bit) || \
|
||||||
|
CHECK_BIT_IN_MASK_WORD(DISABLED_MASK, 21, feature_bit) || \
|
||||||
DISABLED_MASK_CHECK || \
|
DISABLED_MASK_CHECK || \
|
||||||
BUILD_BUG_ON_ZERO(NCAPINTS != 21))
|
BUILD_BUG_ON_ZERO(NCAPINTS != 22))
|
||||||
|
|
||||||
#define cpu_has(c, bit) \
|
#define cpu_has(c, bit) \
|
||||||
(__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
|
(__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
|
||||||
|
@@ -13,7 +13,7 @@
|
|||||||
/*
|
/*
|
||||||
* Defines x86 CPU feature bits
|
* Defines x86 CPU feature bits
|
||||||
*/
|
*/
|
||||||
#define NCAPINTS 21 /* N 32-bit words worth of info */
|
#define NCAPINTS 22 /* N 32-bit words worth of info */
|
||||||
#define NBUGINTS 2 /* N 32-bit bug flags */
|
#define NBUGINTS 2 /* N 32-bit bug flags */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@@ -103,6 +103,7 @@
|
|||||||
#define DISABLED_MASK18 0
|
#define DISABLED_MASK18 0
|
||||||
#define DISABLED_MASK19 0
|
#define DISABLED_MASK19 0
|
||||||
#define DISABLED_MASK20 0
|
#define DISABLED_MASK20 0
|
||||||
#define DISABLED_MASK_CHECK BUILD_BUG_ON_ZERO(NCAPINTS != 21)
|
#define DISABLED_MASK21 0
|
||||||
|
#define DISABLED_MASK_CHECK BUILD_BUG_ON_ZERO(NCAPINTS != 22)
|
||||||
|
|
||||||
#endif /* _ASM_X86_DISABLED_FEATURES_H */
|
#endif /* _ASM_X86_DISABLED_FEATURES_H */
|
||||||
|
@@ -103,6 +103,7 @@
|
|||||||
#define REQUIRED_MASK18 0
|
#define REQUIRED_MASK18 0
|
||||||
#define REQUIRED_MASK19 0
|
#define REQUIRED_MASK19 0
|
||||||
#define REQUIRED_MASK20 0
|
#define REQUIRED_MASK20 0
|
||||||
#define REQUIRED_MASK_CHECK BUILD_BUG_ON_ZERO(NCAPINTS != 21)
|
#define REQUIRED_MASK21 0
|
||||||
|
#define REQUIRED_MASK_CHECK BUILD_BUG_ON_ZERO(NCAPINTS != 22)
|
||||||
|
|
||||||
#endif /* _ASM_X86_REQUIRED_FEATURES_H */
|
#endif /* _ASM_X86_REQUIRED_FEATURES_H */
|
||||||
|
Reference in New Issue
Block a user