|
@@ -819,8 +819,11 @@ static void init_amd_zn(struct cpuinfo_x86 *c)
|
|
|
{
|
|
{
|
|
|
set_cpu_cap(c, X86_FEATURE_ZEN);
|
|
set_cpu_cap(c, X86_FEATURE_ZEN);
|
|
|
|
|
|
|
|
- /* Fix erratum 1076: CPB feature bit not being set in CPUID. */
|
|
|
|
|
- if (!cpu_has(c, X86_FEATURE_CPB))
|
|
|
|
|
|
|
+ /*
|
|
|
|
|
+ * Fix erratum 1076: CPB feature bit not being set in CPUID.
|
|
|
|
|
+ * Always set it, except when running under a hypervisor.
|
|
|
|
|
+ */
|
|
|
|
|
+ if (!cpu_has(c, X86_FEATURE_HYPERVISOR) && !cpu_has(c, X86_FEATURE_CPB))
|
|
|
set_cpu_cap(c, X86_FEATURE_CPB);
|
|
set_cpu_cap(c, X86_FEATURE_CPB);
|
|
|
}
|
|
}
|
|
|
|
|
|