#include "svm.h"
 #include "processor.h"
 
-#define CPUID_SVM_BIT          2
-#define CPUID_SVM              BIT_ULL(CPUID_SVM_BIT)
-
 #define SVM_EXIT_EXCP_BASE     0x040
 #define SVM_EXIT_HLT           0x078
 #define SVM_EXIT_MSR           0x07c
 void generic_svm_setup(struct svm_test_data *svm, void *guest_rip, void *guest_rsp);
 void run_guest(struct vmcb *vmcb, uint64_t vmcb_gpa);
 
-static inline bool cpu_has_svm(void)
-{
-       u32 eax = 0x80000001, ecx;
-
-       asm("cpuid" :
-           "=a" (eax), "=c" (ecx) : "0" (eax) : "ebx", "edx");
-
-       return ecx & CPUID_SVM;
-}
-
 int open_sev_dev_path_or_exit(void);
 
 #endif /* SELFTEST_KVM_SVM_UTILS_H */
 
        sync_with_host(4);
 
        if (arg) {
-               if (cpu_has_svm()) {
+               if (this_cpu_has(X86_FEATURE_SVM)) {
                        generic_svm_setup(svm, l2_guest_code,
                                          &l2_guest_stack[L2_GUEST_STACK_SIZE]);
                } else {
 
                sync_with_host(7);
 
-               if (cpu_has_svm()) {
+               if (this_cpu_has(X86_FEATURE_SVM)) {
                        run_guest(svm->vmcb, svm->vmcb_gpa);
                        run_guest(svm->vmcb, svm->vmcb_gpa);
                } else {