|
36 | 36 | u32 kvm_cpu_caps[NR_KVM_CPU_CAPS] __read_mostly; |
37 | 37 | EXPORT_SYMBOL_GPL(kvm_cpu_caps); |
38 | 38 |
|
39 | | -u32 kvm_cpuid_vendor_features; |
40 | | -EXPORT_SYMBOL_GPL(kvm_cpuid_vendor_features); |
41 | | -u32 kvm_cpuid_vendor_signature; |
42 | | -EXPORT_SYMBOL_GPL(kvm_cpuid_vendor_signature); |
43 | | - |
44 | | -static inline bool has_kvm_cpuid_vendor_features(void) |
45 | | -{ |
46 | | - return !!kvm_cpuid_vendor_signature; |
47 | | -} |
48 | | - |
49 | 39 | u32 xstate_required_size(u64 xstate_bv, bool compacted) |
50 | 40 | { |
51 | 41 | int feature_bit = 0; |
@@ -1142,10 +1132,7 @@ static inline int __do_cpuid_func(struct kvm_cpuid_array *array, u32 function) |
1142 | 1132 | break; |
1143 | 1133 | case KVM_CPUID_SIGNATURE: { |
1144 | 1134 | const u32 *sigptr = (const u32 *)KVM_SIGNATURE; |
1145 | | - if (!has_kvm_cpuid_vendor_features()) |
1146 | | - entry->eax = KVM_CPUID_FEATURES; |
1147 | | - else |
1148 | | - entry->eax = KVM_CPUID_VENDOR_FEATURES; |
| 1135 | + entry->eax = KVM_CPUID_FEATURES; |
1149 | 1136 | entry->ebx = sigptr[0]; |
1150 | 1137 | entry->ecx = sigptr[1]; |
1151 | 1138 | entry->edx = sigptr[2]; |
@@ -1173,17 +1160,6 @@ static inline int __do_cpuid_func(struct kvm_cpuid_array *array, u32 function) |
1173 | 1160 | entry->ecx = 0; |
1174 | 1161 | entry->edx = 0; |
1175 | 1162 | break; |
1176 | | - case KVM_CPUID_VENDOR_FEATURES: |
1177 | | - if (!has_kvm_cpuid_vendor_features()) { |
1178 | | - entry->eax = 0; |
1179 | | - entry->ebx = 0; |
1180 | | - } else { |
1181 | | - entry->eax = kvm_cpuid_vendor_features; |
1182 | | - entry->ebx = kvm_cpuid_vendor_signature; |
1183 | | - } |
1184 | | - entry->ecx = 0; |
1185 | | - entry->edx = 0; |
1186 | | - break; |
1187 | 1163 | case 0x80000000: |
1188 | 1164 | entry->eax = min(entry->eax, 0x80000022); |
1189 | 1165 | /* |
|
0 commit comments