Lines Matching full:cpuid
3 * cpuid support routines
24 #include "cpuid.h"
195 struct kvm_cpuid *cpuid, in kvm_vcpu_ioctl_set_cpuid() argument
202 if (cpuid->nent > KVM_MAX_CPUID_ENTRIES) in kvm_vcpu_ioctl_set_cpuid()
205 if (cpuid->nent) { in kvm_vcpu_ioctl_set_cpuid()
208 cpuid->nent)); in kvm_vcpu_ioctl_set_cpuid()
213 cpuid->nent * sizeof(struct kvm_cpuid_entry))) in kvm_vcpu_ioctl_set_cpuid()
216 for (i = 0; i < cpuid->nent; i++) { in kvm_vcpu_ioctl_set_cpuid()
228 vcpu->arch.cpuid_nent = cpuid->nent; in kvm_vcpu_ioctl_set_cpuid()
240 struct kvm_cpuid2 *cpuid, in kvm_vcpu_ioctl_set_cpuid2() argument
246 if (cpuid->nent > KVM_MAX_CPUID_ENTRIES) in kvm_vcpu_ioctl_set_cpuid2()
250 cpuid->nent * sizeof(struct kvm_cpuid_entry2))) in kvm_vcpu_ioctl_set_cpuid2()
252 vcpu->arch.cpuid_nent = cpuid->nent; in kvm_vcpu_ioctl_set_cpuid2()
261 struct kvm_cpuid2 *cpuid, in kvm_vcpu_ioctl_get_cpuid2() argument
267 if (cpuid->nent < vcpu->arch.cpuid_nent) in kvm_vcpu_ioctl_get_cpuid2()
276 cpuid->nent = vcpu->arch.cpuid_nent; in kvm_vcpu_ioctl_get_cpuid2()
342 /* cpuid 1.edx */ in __do_cpuid_ent()
352 /* cpuid 0x80000001.edx */ in __do_cpuid_ent()
362 /* cpuid 1.ecx */ in __do_cpuid_ent()
365 * but *not* advertised to guests via CPUID ! */ in __do_cpuid_ent()
374 /* cpuid 0x80000001.ecx */ in __do_cpuid_ent()
382 /* cpuid 0x80000008.ebx */ in __do_cpuid_ent()
387 /* cpuid 0xC0000001.edx */ in __do_cpuid_ent()
393 /* cpuid 7.0.ebx */ in __do_cpuid_ent()
401 /* cpuid 0xD.1.eax */ in __do_cpuid_ent()
405 /* cpuid 7.0.ecx*/ in __do_cpuid_ent()
412 /* cpuid 7.0.edx*/ in __do_cpuid_ent()
442 /* function 2 entries are STATEFUL. That is, repeated cpuid commands in __do_cpuid_ent()
658 /* invariant TSC is CPUID.80000007H:EDX[8] */ in __do_cpuid_ent()
675 * hardware cpuid in __do_cpuid_ent()
701 /*Add support for Centaur's CPUID instruction*/ in __do_cpuid_ent()
783 int kvm_dev_ioctl_get_cpuid(struct kvm_cpuid2 *cpuid, in kvm_dev_ioctl_get_cpuid() argument
798 if (cpuid->nent < 1) in kvm_dev_ioctl_get_cpuid()
800 if (cpuid->nent > KVM_MAX_CPUID_ENTRIES) in kvm_dev_ioctl_get_cpuid()
801 cpuid->nent = KVM_MAX_CPUID_ENTRIES; in kvm_dev_ioctl_get_cpuid()
803 if (sanity_check_entries(entries, cpuid->nent, type)) in kvm_dev_ioctl_get_cpuid()
808 cpuid->nent)); in kvm_dev_ioctl_get_cpuid()
820 &nent, cpuid->nent, type); in kvm_dev_ioctl_get_cpuid()
829 for (func = ent->func + 1; func <= limit && nent < cpuid->nent && r == 0; ++func) in kvm_dev_ioctl_get_cpuid()
831 &nent, cpuid->nent, type); in kvm_dev_ioctl_get_cpuid()
841 cpuid->nent = nent; in kvm_dev_ioctl_get_cpuid()
908 * This is to satisfy the CPUID specification.