From: Andrew Cooper Date: Mon, 25 Nov 2019 13:29:20 +0000 (+0000) Subject: x86/svm: Minor cleanup to start_svm() X-Git-Tag: archive/raspbian/4.14.0+80-gd101b417b7-1+rpi1^2~63^2~1091 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=efff60f8be79790a6b195d2b8008da7e6e7716b1;p=xen.git x86/svm: Minor cleanup to start_svm() 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 Reviewed-by: Jan Beulich --- diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c index 776cf11459..290bd4c882 100644 --- a/xen/arch/x86/hvm/svm/svm.c +++ b/xen/arch/x86/hvm/svm/svm.c @@ -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;