]> git.baikalelectronics.ru Git - kernel.git/commitdiff
KVM: selftests: Use the common cpuid() helper in cpu_vendor_string_is()
authorSean Christopherson <seanjc@google.com>
Tue, 14 Jun 2022 20:07:06 +0000 (20:07 +0000)
committerSean Christopherson <seanjc@google.com>
Thu, 14 Jul 2022 01:14:25 +0000 (18:14 -0700)
Use cpuid() to get CPUID.0x0 in cpu_vendor_string_is(), thus eliminating
the last open coded usage of CPUID (ignoring debug_regs.c, which emits
CPUID from the guest to trigger a VM-Exit and doesn't actually care about
the results of CPUID).

Signed-off-by: Sean Christopherson <seanjc@google.com>
Link: https://lore.kernel.org/r/20220614200707.3315957-42-seanjc@google.com
tools/testing/selftests/kvm/lib/x86_64/processor.c

index 92a047cd1cd5f5379e52a9a184de9ecdaacb8281..f35626df1dea062d8d7b7c35858efd9a4f42c05f 100644 (file)
@@ -1011,15 +1011,9 @@ void kvm_x86_state_cleanup(struct kvm_x86_state *state)
 static bool cpu_vendor_string_is(const char *vendor)
 {
        const uint32_t *chunk = (const uint32_t *)vendor;
-       int eax, ebx, ecx, edx;
-       const int leaf = 0;
-
-       __asm__ __volatile__(
-               "cpuid"
-               : /* output */ "=a"(eax), "=b"(ebx),
-                 "=c"(ecx), "=d"(edx)
-               : /* input */ "0"(leaf), "2"(0));
+       uint32_t eax, ebx, ecx, edx;
 
+       cpuid(0, &eax, &ebx, &ecx, &edx);
        return (ebx == chunk[0] && edx == chunk[1] && ecx == chunk[2]);
 }