aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSean Christopherson <seanjc@google.com>2022-06-14 20:07:06 +0000
committerSean Christopherson <seanjc@google.com>2022-07-13 18:14:25 -0700
commit12a985aeb40691a27befb0ae99707d0322b4bd8e (patch)
treebd489d38ad9098df453cb304fa07e9be11b77a31
parentKVM: selftests: Clean up requirements for XFD-aware XSAVE features (diff)
downloadlinux-dev-12a985aeb40691a27befb0ae99707d0322b4bd8e.tar.xz
linux-dev-12a985aeb40691a27befb0ae99707d0322b4bd8e.zip
KVM: selftests: Use the common cpuid() helper in cpu_vendor_string_is()
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
-rw-r--r--tools/testing/selftests/kvm/lib/x86_64/processor.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/tools/testing/selftests/kvm/lib/x86_64/processor.c b/tools/testing/selftests/kvm/lib/x86_64/processor.c
index 92a047cd1cd5..f35626df1dea 100644
--- a/tools/testing/selftests/kvm/lib/x86_64/processor.c
+++ b/tools/testing/selftests/kvm/lib/x86_64/processor.c
@@ -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]);
}