Lines Matching full:best
137 struct kvm_cpuid_entry2 *best; in kvm_check_cpuid() local
144 best = cpuid_entry2_find(entries, nent, 0x80000008, in kvm_check_cpuid()
146 if (best) { in kvm_check_cpuid()
147 int vaddr_bits = (best->eax & 0xff00) >> 8; in kvm_check_cpuid()
157 best = cpuid_entry2_find(entries, nent, 0xd, 0); in kvm_check_cpuid()
158 if (!best) in kvm_check_cpuid()
161 xfeatures = best->eax | ((u64)best->edx << 32); in kvm_check_cpuid()
240 struct kvm_cpuid_entry2 *best = kvm_find_kvm_cpuid_features(vcpu); in kvm_update_pv_runtime() local
246 if (best) in kvm_update_pv_runtime()
247 vcpu->arch.pv_cpuid.features = best->eax; in kvm_update_pv_runtime()
256 struct kvm_cpuid_entry2 *best; in cpuid_get_supported_xcr0() local
258 best = cpuid_entry2_find(entries, nent, 0xd, 0); in cpuid_get_supported_xcr0()
259 if (!best) in cpuid_get_supported_xcr0()
262 return (best->eax | ((u64)best->edx << 32)) & kvm_caps.supported_xcr0; in cpuid_get_supported_xcr0()
268 struct kvm_cpuid_entry2 *best; in __kvm_update_cpuid_runtime() local
270 best = cpuid_entry2_find(entries, nent, 1, KVM_CPUID_INDEX_NOT_SIGNIFICANT); in __kvm_update_cpuid_runtime()
271 if (best) { in __kvm_update_cpuid_runtime()
274 cpuid_entry_change(best, X86_FEATURE_OSXSAVE, in __kvm_update_cpuid_runtime()
277 cpuid_entry_change(best, X86_FEATURE_APIC, in __kvm_update_cpuid_runtime()
281 best = cpuid_entry2_find(entries, nent, 7, 0); in __kvm_update_cpuid_runtime()
282 if (best && boot_cpu_has(X86_FEATURE_PKU) && best->function == 0x7) in __kvm_update_cpuid_runtime()
283 cpuid_entry_change(best, X86_FEATURE_OSPKE, in __kvm_update_cpuid_runtime()
286 best = cpuid_entry2_find(entries, nent, 0xD, 0); in __kvm_update_cpuid_runtime()
287 if (best) in __kvm_update_cpuid_runtime()
288 best->ebx = xstate_required_size(vcpu->arch.xcr0, false); in __kvm_update_cpuid_runtime()
290 best = cpuid_entry2_find(entries, nent, 0xD, 1); in __kvm_update_cpuid_runtime()
291 if (best && (cpuid_entry_has(best, X86_FEATURE_XSAVES) || in __kvm_update_cpuid_runtime()
292 cpuid_entry_has(best, X86_FEATURE_XSAVEC))) in __kvm_update_cpuid_runtime()
293 best->ebx = xstate_required_size(vcpu->arch.xcr0, true); in __kvm_update_cpuid_runtime()
295 best = __kvm_find_kvm_cpuid_features(vcpu, entries, nent); in __kvm_update_cpuid_runtime()
296 if (kvm_hlt_in_guest(vcpu->kvm) && best && in __kvm_update_cpuid_runtime()
297 (best->eax & (1 << KVM_FEATURE_PV_UNHALT))) in __kvm_update_cpuid_runtime()
298 best->eax &= ~(1 << KVM_FEATURE_PV_UNHALT); in __kvm_update_cpuid_runtime()
301 best = cpuid_entry2_find(entries, nent, 0x1, KVM_CPUID_INDEX_NOT_SIGNIFICANT); in __kvm_update_cpuid_runtime()
302 if (best) in __kvm_update_cpuid_runtime()
303 cpuid_entry_change(best, X86_FEATURE_MWAIT, in __kvm_update_cpuid_runtime()
331 struct kvm_cpuid_entry2 *best; in kvm_vcpu_after_set_cpuid() local
354 best = kvm_find_cpuid_entry(vcpu, 1); in kvm_vcpu_after_set_cpuid()
355 if (best && apic) { in kvm_vcpu_after_set_cpuid()
356 if (cpuid_entry_has(best, X86_FEATURE_TSC_DEADLINE_TIMER)) in kvm_vcpu_after_set_cpuid()
391 struct kvm_cpuid_entry2 *best; in cpuid_query_maxphyaddr() local
393 best = kvm_find_cpuid_entry(vcpu, 0x80000000); in cpuid_query_maxphyaddr()
394 if (!best || best->eax < 0x80000008) in cpuid_query_maxphyaddr()
396 best = kvm_find_cpuid_entry(vcpu, 0x80000008); in cpuid_query_maxphyaddr()
397 if (best) in cpuid_query_maxphyaddr()
398 return best->eax & 0xff; in cpuid_query_maxphyaddr()