]> xenbits.xensource.com Git - people/hx242/xen.git/commitdiff
x86/svm: Minor cleanup to start_svm()
authorAndrew Cooper <andrew.cooper3@citrix.com>
Mon, 25 Nov 2019 13:29:20 +0000 (13:29 +0000)
committerAndrew Cooper <andrew.cooper3@citrix.com>
Thu, 5 Dec 2019 13:19:28 +0000 (13:19 +0000)
The function is init, so can use boot_cpu_data directly.

There is no need to write 0 to svm_feature_flags in the case of a CPUID
mismatch (not least because this is dead code on real hardware), and no need
to use locked bit operations.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
xen/arch/x86/hvm/svm/svm.c

index 776cf1145942c1628a884eed3dcfbe9d8704b27d..290bd4c882c126b9273e978afd692d94ac147ca5 100644 (file)
@@ -1636,14 +1636,14 @@ const struct hvm_function_table * __init start_svm(void)
 
     setup_vmcb_dump();
 
-    svm_feature_flags = (current_cpu_data.extended_cpuid_level >= 0x8000000A ?
-                         cpuid_edx(0x8000000A) : 0);
+    if ( boot_cpu_data.extended_cpuid_level >= 0x8000000a )
+        svm_feature_flags = cpuid_edx(0x8000000a);
 
     printk("SVM: Supported advanced features:\n");
 
     /* DecodeAssists fast paths assume nextrip is valid for fast rIP update. */
     if ( !cpu_has_svm_nrips )
-        clear_bit(SVM_FEATURE_DECODEASSISTS, &svm_feature_flags);
+        __clear_bit(SVM_FEATURE_DECODEASSISTS, &svm_feature_flags);
 
     if ( cpu_has_tsc_ratio )
         svm_function_table.tsc_scaling.ratio_frac_bits = 32;