aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/oprofile
diff options
context:
space:
mode:
authorAndi Kleen <ak@linux.intel.com>2008-09-29 16:23:33 -0400
committerRobert Richter <robert.richter@amd.com>2008-10-13 13:25:11 -0400
commit59512900baab03c5629f2ff5efad1d5d4e682ece (patch)
tree163b3e53191902400ac167a902f368d7d8b7b49e /arch/x86/oprofile
parentb99170288421c79f0c2efa8b33e26e65f4bb7fb8 (diff)
oprofile: discover counters for op ppro too
Discover number of counters for all family 6 models even when not in arch perfmon mode. Signed-off-by: Andi Kleen <ak@linux.intel.com> Signed-off-by: Robert Richter <robert.richter@amd.com>
Diffstat (limited to 'arch/x86/oprofile')
-rw-r--r--arch/x86/oprofile/op_model_ppro.c8
-rw-r--r--arch/x86/oprofile/op_x86_model.h2
2 files changed, 6 insertions, 4 deletions
diff --git a/arch/x86/oprofile/op_model_ppro.c b/arch/x86/oprofile/op_model_ppro.c
index 12e207a67f1b..f5a226823e94 100644
--- a/arch/x86/oprofile/op_model_ppro.c
+++ b/arch/x86/oprofile/op_model_ppro.c
@@ -200,9 +200,9 @@ static void ppro_shutdown(struct op_msrs const * const msrs)
200} 200}
201 201
202 202
203struct op_x86_model_spec const op_ppro_spec = { 203struct op_x86_model_spec op_ppro_spec = {
204 .num_counters = 2, 204 .num_counters = 2, /* can be overriden */
205 .num_controls = 2, 205 .num_controls = 2, /* dito */
206 .fill_in_addresses = &ppro_fill_in_addresses, 206 .fill_in_addresses = &ppro_fill_in_addresses,
207 .setup_ctrs = &ppro_setup_ctrs, 207 .setup_ctrs = &ppro_setup_ctrs,
208 .check_ctrs = &ppro_check_ctrs, 208 .check_ctrs = &ppro_check_ctrs,
@@ -238,6 +238,8 @@ void arch_perfmon_setup_counters(void)
238 238
239 op_arch_perfmon_spec.num_counters = num_counters; 239 op_arch_perfmon_spec.num_counters = num_counters;
240 op_arch_perfmon_spec.num_controls = num_counters; 240 op_arch_perfmon_spec.num_controls = num_counters;
241 op_ppro_spec.num_counters = num_counters;
242 op_ppro_spec.num_controls = num_counters;
241} 243}
242 244
243struct op_x86_model_spec op_arch_perfmon_spec = { 245struct op_x86_model_spec op_arch_perfmon_spec = {
diff --git a/arch/x86/oprofile/op_x86_model.h b/arch/x86/oprofile/op_x86_model.h
index 0b601893a4df..596de7a5559d 100644
--- a/arch/x86/oprofile/op_x86_model.h
+++ b/arch/x86/oprofile/op_x86_model.h
@@ -45,7 +45,7 @@ struct op_x86_model_spec {
45 void (*shutdown)(struct op_msrs const * const msrs); 45 void (*shutdown)(struct op_msrs const * const msrs);
46}; 46};
47 47
48extern struct op_x86_model_spec const op_ppro_spec; 48extern struct op_x86_model_spec op_ppro_spec;
49extern struct op_x86_model_spec const op_p4_spec; 49extern struct op_x86_model_spec const op_p4_spec;
50extern struct op_x86_model_spec const op_p4_ht2_spec; 50extern struct op_x86_model_spec const op_p4_ht2_spec;
51extern struct op_x86_model_spec const op_amd_spec; 51extern struct op_x86_model_spec const op_amd_spec;