| .. | .. |
|---|
| 31 | 31 | CPUID_7_ECX, |
|---|
| 32 | 32 | CPUID_8000_0007_EBX, |
|---|
| 33 | 33 | CPUID_7_EDX, |
|---|
| 34 | + CPUID_8000_001F_EAX, |
|---|
| 35 | + CPUID_8000_0021_EAX, |
|---|
| 34 | 36 | }; |
|---|
| 35 | 37 | |
|---|
| 36 | 38 | #ifdef CONFIG_X86_FEATURE_NAMES |
|---|
| .. | .. |
|---|
| 89 | 91 | CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 16, feature_bit) || \ |
|---|
| 90 | 92 | CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 17, feature_bit) || \ |
|---|
| 91 | 93 | CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 18, feature_bit) || \ |
|---|
| 94 | + CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 19, feature_bit) || \ |
|---|
| 95 | + CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 20, feature_bit) || \ |
|---|
| 92 | 96 | REQUIRED_MASK_CHECK || \ |
|---|
| 93 | | - BUILD_BUG_ON_ZERO(NCAPINTS != 19)) |
|---|
| 97 | + BUILD_BUG_ON_ZERO(NCAPINTS != 21)) |
|---|
| 94 | 98 | |
|---|
| 95 | 99 | #define DISABLED_MASK_BIT_SET(feature_bit) \ |
|---|
| 96 | 100 | ( CHECK_BIT_IN_MASK_WORD(DISABLED_MASK, 0, feature_bit) || \ |
|---|
| .. | .. |
|---|
| 112 | 116 | CHECK_BIT_IN_MASK_WORD(DISABLED_MASK, 16, feature_bit) || \ |
|---|
| 113 | 117 | CHECK_BIT_IN_MASK_WORD(DISABLED_MASK, 17, feature_bit) || \ |
|---|
| 114 | 118 | CHECK_BIT_IN_MASK_WORD(DISABLED_MASK, 18, feature_bit) || \ |
|---|
| 119 | + CHECK_BIT_IN_MASK_WORD(DISABLED_MASK, 19, feature_bit) || \ |
|---|
| 120 | + CHECK_BIT_IN_MASK_WORD(DISABLED_MASK, 20, feature_bit) || \ |
|---|
| 115 | 121 | DISABLED_MASK_CHECK || \ |
|---|
| 116 | | - BUILD_BUG_ON_ZERO(NCAPINTS != 19)) |
|---|
| 122 | + BUILD_BUG_ON_ZERO(NCAPINTS != 21)) |
|---|
| 117 | 123 | |
|---|
| 118 | 124 | #define cpu_has(c, bit) \ |
|---|
| 119 | 125 | (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \ |
|---|