|
25 | 25 | #define KVM_X86_FEATURE_SGX2 KVM_X86_FEATURE(CPUID_12_EAX, 1) |
26 | 26 | #define KVM_X86_FEATURE_SGX_EDECCSSA KVM_X86_FEATURE(CPUID_12_EAX, 11) |
27 | 27 |
|
| 28 | +/* Intel-defined sub-features, CPUID level 0x00000007:1 (ECX) */ |
| 29 | +#define KVM_X86_FEATURE_MSR_IMM KVM_X86_FEATURE(CPUID_7_1_ECX, 5) |
| 30 | + |
28 | 31 | /* Intel-defined sub-features, CPUID level 0x00000007:1 (EDX) */ |
29 | 32 | #define X86_FEATURE_AVX_VNNI_INT8 KVM_X86_FEATURE(CPUID_7_1_EDX, 4) |
30 | 33 | #define X86_FEATURE_AVX_NE_CONVERT KVM_X86_FEATURE(CPUID_7_1_EDX, 5) |
@@ -87,6 +90,7 @@ static const struct cpuid_reg reverse_cpuid[] = { |
87 | 90 | [CPUID_7_2_EDX] = { 7, 2, CPUID_EDX}, |
88 | 91 | [CPUID_24_0_EBX] = { 0x24, 0, CPUID_EBX}, |
89 | 92 | [CPUID_8000_0021_ECX] = {0x80000021, 0, CPUID_ECX}, |
| 93 | + [CPUID_7_1_ECX] = { 7, 1, CPUID_ECX}, |
90 | 94 | }; |
91 | 95 |
|
92 | 96 | /* |
@@ -128,6 +132,7 @@ static __always_inline u32 __feature_translate(int x86_feature) |
128 | 132 | KVM_X86_TRANSLATE_FEATURE(BHI_CTRL); |
129 | 133 | KVM_X86_TRANSLATE_FEATURE(TSA_SQ_NO); |
130 | 134 | KVM_X86_TRANSLATE_FEATURE(TSA_L1_NO); |
| 135 | + KVM_X86_TRANSLATE_FEATURE(MSR_IMM); |
131 | 136 | default: |
132 | 137 | return x86_feature; |
133 | 138 | } |
|
0 commit comments