|
@@ -315,6 +315,16 @@ void intel_pmu_lbr_init_snb(void)
|
|
|
/* atom */
|
|
|
void intel_pmu_lbr_init_atom(void)
|
|
|
{
|
|
|
+ /*
|
|
|
+ * only models starting at stepping 10 seems
|
|
|
+ * to have an operational LBR which can freeze
|
|
|
+ * on PMU interrupt
|
|
|
+ */
|
|
|
+ if (boot_cpu_data.x86_mask < 10) {
|
|
|
+ pr_cont("LBR disabled due to erratum");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
x86_pmu.lbr_nr = 8;
|
|
|
x86_pmu.lbr_tos = MSR_LBR_TOS;
|
|
|
x86_pmu.lbr_from = MSR_LBR_CORE_FROM;
|