mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 18:21:39 +01:00
OSSTest has identified a 3rd regression caused by this change. Migration between Xen 4.15 and 4.16 on the nocera pair of machines (AMD Opteron 4133) fails with: xc: error: Failed to set CPUID policy: leaf 00000000, subleaf ffffffff, msr ffffffff (22 = Invalid argument): Internal error xc: error: Restore failed (22 = Invalid argument): Internal error which is a safety check to prevent resuming the guest when the CPUID data has been truncated. The problem is caused by shrinking of the max policies, which is an ABI that needs handling compatibly between different versions of Xen. Furthermore, shrinking of the default policies also breaks things in some cases, because certain cpuid= settings in a VM config file which used to work will now be refused. Also external toolstacks that attempt to set the CPUID policy from a featureset might now see some filled leaves not reachable due to the shrinking done to the default domain policy before applying the featureset. This reverts commit540d911c28, as well as the partial fix attempt in81da2b544c(which added one new case where cpuid= settings might not apply correctly) and restores the same behaviour as Xen 4.15. Fixes:540d911c28("x86/CPUID: shrink max_{,sub}leaf fields according to actual leaf contents") Fixes:81da2b544c("x86/cpuid: prevent shrinking migrated policies max leaves") Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> Acked-by: Roger Pau Monné <roger.pau@citrix.com> Acked-by: Jan Beulich <jbeulich@suse.com>