@@ -153,8 +153,14 @@ static struct event_constraint intel_gen_event_constraints[] __read_mostly =
153
153
};
154
154
155
155
static struct extra_reg intel_snb_extra_regs [] __read_mostly = {
156
- INTEL_EVENT_EXTRA_REG (0xb7 , MSR_OFFCORE_RSP_0 , 0x3fffffffffull , RSP_0 ),
157
- INTEL_EVENT_EXTRA_REG (0xbb , MSR_OFFCORE_RSP_1 , 0x3fffffffffull , RSP_1 ),
156
+ INTEL_EVENT_EXTRA_REG (0xb7 , MSR_OFFCORE_RSP_0 , 0x3f807f8fffull , RSP_0 ),
157
+ INTEL_EVENT_EXTRA_REG (0xbb , MSR_OFFCORE_RSP_1 , 0x3f807f8fffull , RSP_1 ),
158
+ EVENT_EXTRA_END
159
+ };
160
+
161
+ static struct extra_reg intel_snbep_extra_regs [] __read_mostly = {
162
+ INTEL_EVENT_EXTRA_REG (0xb7 , MSR_OFFCORE_RSP_0 , 0x3fffff8fffull , RSP_0 ),
163
+ INTEL_EVENT_EXTRA_REG (0xbb , MSR_OFFCORE_RSP_1 , 0x3fffff8fffull , RSP_1 ),
158
164
EVENT_EXTRA_END
159
165
};
160
166
@@ -2097,7 +2103,10 @@ __init int intel_pmu_init(void)
2097
2103
x86_pmu .event_constraints = intel_snb_event_constraints ;
2098
2104
x86_pmu .pebs_constraints = intel_snb_pebs_event_constraints ;
2099
2105
x86_pmu .pebs_aliases = intel_pebs_aliases_snb ;
2100
- x86_pmu .extra_regs = intel_snb_extra_regs ;
2106
+ if (boot_cpu_data .x86_model == 45 )
2107
+ x86_pmu .extra_regs = intel_snbep_extra_regs ;
2108
+ else
2109
+ x86_pmu .extra_regs = intel_snb_extra_regs ;
2101
2110
/* all extra regs are per-cpu when HT is on */
2102
2111
x86_pmu .er_flags |= ERF_HAS_RSP_1 ;
2103
2112
x86_pmu .er_flags |= ERF_NO_HT_SHARING ;
@@ -2123,7 +2132,10 @@ __init int intel_pmu_init(void)
2123
2132
x86_pmu .event_constraints = intel_ivb_event_constraints ;
2124
2133
x86_pmu .pebs_constraints = intel_ivb_pebs_event_constraints ;
2125
2134
x86_pmu .pebs_aliases = intel_pebs_aliases_snb ;
2126
- x86_pmu .extra_regs = intel_snb_extra_regs ;
2135
+ if (boot_cpu_data .x86_model == 62 )
2136
+ x86_pmu .extra_regs = intel_snbep_extra_regs ;
2137
+ else
2138
+ x86_pmu .extra_regs = intel_snb_extra_regs ;
2127
2139
/* all extra regs are per-cpu when HT is on */
2128
2140
x86_pmu .er_flags |= ERF_HAS_RSP_1 ;
2129
2141
x86_pmu .er_flags |= ERF_NO_HT_SHARING ;
0 commit comments