aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorRobert Richter <robert.richter@amd.com>2009-05-25 13:31:44 -0400
committerRobert Richter <robert.richter@amd.com>2009-06-11 13:42:14 -0400
commitef8828ddf828174785421af67c281144d4b8e796 (patch)
tree28aef872bb6d3fd4455b508b73f81639a4fca1aa /arch
parent9c59354b48ce9cf28048b02fea73dd0236f876ea (diff)
x86/oprofile: pass the model to setup_ctrs() functions
In follow-on patches the setup_ctrs() functions will need data that describes the model. This patch extends the function argument list to pass a pointer of the model to these function. Signed-off-by: Robert Richter <robert.richter@amd.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/x86/oprofile/nmi_int.c2
-rw-r--r--arch/x86/oprofile/op_model_amd.c3
-rw-r--r--arch/x86/oprofile/op_model_p4.c3
-rw-r--r--arch/x86/oprofile/op_model_ppro.c3
-rw-r--r--arch/x86/oprofile/op_x86_model.h3
5 files changed, 9 insertions, 5 deletions
diff --git a/arch/x86/oprofile/nmi_int.c b/arch/x86/oprofile/nmi_int.c
index ae0ab03959b4..c31f87bbf436 100644
--- a/arch/x86/oprofile/nmi_int.c
+++ b/arch/x86/oprofile/nmi_int.c
@@ -125,7 +125,7 @@ static void nmi_cpu_setup(void *dummy)
125 int cpu = smp_processor_id(); 125 int cpu = smp_processor_id();
126 struct op_msrs *msrs = &per_cpu(cpu_msrs, cpu); 126 struct op_msrs *msrs = &per_cpu(cpu_msrs, cpu);
127 spin_lock(&oprofilefs_lock); 127 spin_lock(&oprofilefs_lock);
128 model->setup_ctrs(msrs); 128 model->setup_ctrs(model, msrs);
129 spin_unlock(&oprofilefs_lock); 129 spin_unlock(&oprofilefs_lock);
130 per_cpu(saved_lvtpc, cpu) = apic_read(APIC_LVTPC); 130 per_cpu(saved_lvtpc, cpu) = apic_read(APIC_LVTPC);
131 apic_write(APIC_LVTPC, APIC_DM_NMI); 131 apic_write(APIC_LVTPC, APIC_DM_NMI);
diff --git a/arch/x86/oprofile/op_model_amd.c b/arch/x86/oprofile/op_model_amd.c
index aaa7ffaed6b9..86e0a01ba125 100644
--- a/arch/x86/oprofile/op_model_amd.c
+++ b/arch/x86/oprofile/op_model_amd.c
@@ -85,7 +85,8 @@ static void op_amd_fill_in_addresses(struct op_msrs * const msrs)
85} 85}
86 86
87 87
88static void op_amd_setup_ctrs(struct op_msrs const * const msrs) 88static void op_amd_setup_ctrs(struct op_x86_model_spec const *model,
89 struct op_msrs const * const msrs)
89{ 90{
90 unsigned int low, high; 91 unsigned int low, high;
91 int i; 92 int i;
diff --git a/arch/x86/oprofile/op_model_p4.c b/arch/x86/oprofile/op_model_p4.c
index 365d8a9c03d3..05ba0287b1f7 100644
--- a/arch/x86/oprofile/op_model_p4.c
+++ b/arch/x86/oprofile/op_model_p4.c
@@ -542,7 +542,8 @@ static void pmc_setup_one_p4_counter(unsigned int ctr)
542} 542}
543 543
544 544
545static void p4_setup_ctrs(struct op_msrs const * const msrs) 545static void p4_setup_ctrs(struct op_x86_model_spec const *model,
546 struct op_msrs const * const msrs)
546{ 547{
547 unsigned int i; 548 unsigned int i;
548 unsigned int low, high; 549 unsigned int low, high;
diff --git a/arch/x86/oprofile/op_model_ppro.c b/arch/x86/oprofile/op_model_ppro.c
index 61ee8f640535..40b44ee521d5 100644
--- a/arch/x86/oprofile/op_model_ppro.c
+++ b/arch/x86/oprofile/op_model_ppro.c
@@ -51,7 +51,8 @@ static void ppro_fill_in_addresses(struct op_msrs * const msrs)
51} 51}
52 52
53 53
54static void ppro_setup_ctrs(struct op_msrs const * const msrs) 54static void ppro_setup_ctrs(struct op_x86_model_spec const *model,
55 struct op_msrs const * const msrs)
55{ 56{
56 unsigned int low, high; 57 unsigned int low, high;
57 int i; 58 int i;
diff --git a/arch/x86/oprofile/op_x86_model.h b/arch/x86/oprofile/op_x86_model.h
index a207b1c46e26..6161c7f0e7fb 100644
--- a/arch/x86/oprofile/op_x86_model.h
+++ b/arch/x86/oprofile/op_x86_model.h
@@ -48,7 +48,8 @@ struct op_x86_model_spec {
48 int (*init)(struct oprofile_operations *ops); 48 int (*init)(struct oprofile_operations *ops);
49 void (*exit)(void); 49 void (*exit)(void);
50 void (*fill_in_addresses)(struct op_msrs * const msrs); 50 void (*fill_in_addresses)(struct op_msrs * const msrs);
51 void (*setup_ctrs)(struct op_msrs const * const msrs); 51 void (*setup_ctrs)(struct op_x86_model_spec const *model,
52 struct op_msrs const * const msrs);
52 int (*check_ctrs)(struct pt_regs * const regs, 53 int (*check_ctrs)(struct pt_regs * const regs,
53 struct op_msrs const * const msrs); 54 struct op_msrs const * const msrs);
54 void (*start)(struct op_msrs const * const msrs); 55 void (*start)(struct op_msrs const * const msrs);