On 26.01.2022 09:44, Andrew Cooper wrote: > Currently, amd_init_ssbd() works by being the only write to MSR_SPEC_CTRL in > the system. This ceases to be true when using the common logic. > > Include AMD MSR_SPEC_CTRL in has_spec_ctrl to activate the common paths, and > introduce an AMD specific block to control alternatives. > > For now, only configure alternatives for HVM. PV will require more work. > > This is a reasonably large change for low level defaults in the common case, > but should have no practical change in behaviour. > > Signed-off-by: Andrew Cooper <[email protected]>
Reviewed-by: Jan Beulich <[email protected]> One nit: > --- a/xen/arch/x86/cpu/amd.c > @@ -1031,12 +1033,32 @@ void __init init_speculation_mitigations(void) > } > } > > + /* AMD hardware: MSR_SPEC_CTRL alternatives setup. */ > + if ( boot_cpu_has(X86_FEATURE_IBRS) ) > + { > + /* > + * Virtualising MSR_SPEC_CTRL for guests depends on SVM support, > which > + * on real hardware matches the availability of MSR_SPEC_CTRL in the > + * first place. > + * > + * No need for SCF_ist_wrmsr because, because Xen's value is restored > + * atomically WRT NMIs in the VMExit path. There's one "because" too many here. Jan
