diff options
author | Andi Kleen <ak@linux.intel.com> | 2008-09-29 22:23:33 +0200 |
---|---|---|
committer | Robert Richter <robert.richter@amd.com> | 2008-10-13 19:25:11 +0200 |
commit | 59512900baab03c5629f2ff5efad1d5d4e682ece (patch) | |
tree | 163b3e53191902400ac167a902f368d7d8b7b49e /arch/x86/oprofile | |
parent | b99170288421c79f0c2efa8b33e26e65f4bb7fb8 (diff) | |
download | op-kernel-dev-59512900baab03c5629f2ff5efad1d5d4e682ece.zip op-kernel-dev-59512900baab03c5629f2ff5efad1d5d4e682ece.tar.gz |
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.c | 8 | ||||
-rw-r--r-- | arch/x86/oprofile/op_x86_model.h | 2 |
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 12e207a..f5a2268 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) } -struct op_x86_model_spec const op_ppro_spec = { - .num_counters = 2, - .num_controls = 2, +struct op_x86_model_spec op_ppro_spec = { + .num_counters = 2, /* can be overriden */ + .num_controls = 2, /* dito */ .fill_in_addresses = &ppro_fill_in_addresses, .setup_ctrs = &ppro_setup_ctrs, .check_ctrs = &ppro_check_ctrs, @@ -238,6 +238,8 @@ void arch_perfmon_setup_counters(void) op_arch_perfmon_spec.num_counters = num_counters; op_arch_perfmon_spec.num_controls = num_counters; + op_ppro_spec.num_counters = num_counters; + op_ppro_spec.num_controls = num_counters; } struct 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 0b60189..596de7a 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 { void (*shutdown)(struct op_msrs const * const msrs); }; -extern struct op_x86_model_spec const op_ppro_spec; +extern struct op_x86_model_spec op_ppro_spec; extern struct op_x86_model_spec const op_p4_spec; extern struct op_x86_model_spec const op_p4_ht2_spec; extern struct op_x86_model_spec const op_amd_spec; |