|
@@ -1271,6 +1271,17 @@ done:
|
|
|
return num ? -EINVAL : 0;
|
|
|
}
|
|
|
|
|
|
+PMU_FORMAT_ATTR(cccr, "config:0-31" );
|
|
|
+PMU_FORMAT_ATTR(escr, "config:32-62");
|
|
|
+PMU_FORMAT_ATTR(ht, "config:63" );
|
|
|
+
|
|
|
+static struct attribute *intel_p4_formats_attr[] = {
|
|
|
+ &format_attr_cccr.attr,
|
|
|
+ &format_attr_escr.attr,
|
|
|
+ &format_attr_ht.attr,
|
|
|
+ NULL,
|
|
|
+};
|
|
|
+
|
|
|
static __initconst const struct x86_pmu p4_pmu = {
|
|
|
.name = "Netburst P4/Xeon",
|
|
|
.handle_irq = p4_pmu_handle_irq,
|
|
@@ -1305,6 +1316,8 @@ static __initconst const struct x86_pmu p4_pmu = {
|
|
|
* the former idea is taken from OProfile code
|
|
|
*/
|
|
|
.perfctr_second_write = 1,
|
|
|
+
|
|
|
+ .format_attrs = intel_p4_formats_attr,
|
|
|
};
|
|
|
|
|
|
__init int p4_pmu_init(void)
|