x86/AMD: unbreak CPU hotplug on AMD systems without RstrFpErrPtrs

If the feature is not present Xen will try to force X86_BUG_FPU_PTRS
feature at CPU identification time. This is especially noticeable in
PV-shim that usually hotplugs its vCPUs. We either need to restrict this
action for boot CPU only or allow secondary CPUs to modify
forced CPU capabilities at runtime. Choose the former since modifying
forced capabilities out of boot path leaves the system in potentially
inconsistent state.

Signed-off-by: Igor Druzhinin <igor.druzhinin@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
This commit is contained in:
Igor Druzhinin authored and Jan Beulich committed 2019-12-10 11:07:22 +01:00
1 parent b73aad4c8b
commit 0f3cdbdf7a
1 file changed
+1 -1
+1 -1
View File
@@ -583,7 +583,7 @@ static void init_amd(struct cpuinfo_x86 *c)
* Older AMD CPUs don't save/load FOP/FIP/FDP unless an FPU exception
* is pending. Xen works around this at (F)XRSTOR time.
*/
if (!cpu_has(c, X86_FEATURE_RSTR_FP_ERR_PTRS))
if (c == &boot_cpu_data && !cpu_has(c, X86_FEATURE_RSTR_FP_ERR_PTRS))
setup_force_cpu_cap(X86_BUG_FPU_PTRS);
/*
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.