Message ID | 20191205105134.7801-1-andrew.cooper3@citrix.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | x86/svm: (Post TASK_SWITCH) cleanup | expand |
On 05.12.2019 11:51, Andrew Cooper wrote: > 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 atomic operations. > > Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> Reviewed-by: Jan Beulich <jbeulich@suse.com>
diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c index af3d45fe56..806bf91171 100644 --- a/xen/arch/x86/hvm/svm/svm.c +++ b/xen/arch/x86/hvm/svm/svm.c @@ -1632,14 +1632,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;
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 atomic operations. Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> --- CC: Jan Beulich <JBeulich@suse.com> CC: Wei Liu <wl@xen.org> CC: Roger Pau Monné <roger.pau@citrix.com> --- xen/arch/x86/hvm/svm/svm.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)