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>
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;