mwait-idle: prevent SKL-H boot failure when C8+C9+C10 enabled
authorLen Brown <len.brown@intel.com>
Fri, 8 Apr 2016 20:31:47 +0000 (22:31 +0200)
committerJan Beulich <jbeulich@suse.com>
Fri, 8 Apr 2016 20:31:47 +0000 (22:31 +0200)
commit5a211704e8813c4890c8ce8dc4189d1dfb35ecd0
tree3370ee4f78060a36c42acf0d0b9ed5ecb3cff527
parentac2628ebaa0d2c5969787debebed6b4ee2168c1d
mwait-idle: prevent SKL-H boot failure when C8+C9+C10 enabled

Some SKL-H configurations require "max_cstate=7" to boot.
While that is an effective workaround, it disables C10.

This patch detects the problematic configuration,
and disables C8 and C9, keeping C10 enabled.

Note that enabling SGX in BIOS SETUP can also prevent this issue,
if the system BIOS provides that option.

https://bugzilla.kernel.org/show_bug.cgi?id=109081
"Freezes with Intel i7 6700HQ (Skylake), unless intel_idle.max_cstate=7"

Signed-off-by: Len Brown <len.brown@intel.com>
[Linux commit: d70e28f57e14a481977436695b0c9ba165472431]

Adjust to Xen infrastructure.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
xen/arch/x86/cpu/mwait-idle.c
xen/include/asm-x86/msr-index.h
xen/include/public/arch-x86/cpufeatureset.h