diff options
author | Robert Richter <robert.richter@amd.com> | 2009-05-25 13:31:44 -0400 |
---|---|---|
committer | Robert Richter <robert.richter@amd.com> | 2009-06-11 13:42:14 -0400 |
commit | ef8828ddf828174785421af67c281144d4b8e796 (patch) | |
tree | 28aef872bb6d3fd4455b508b73f81639a4fca1aa /arch | |
parent | 9c59354b48ce9cf28048b02fea73dd0236f876ea (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.c | 2 | ||||
-rw-r--r-- | arch/x86/oprofile/op_model_amd.c | 3 | ||||
-rw-r--r-- | arch/x86/oprofile/op_model_p4.c | 3 | ||||
-rw-r--r-- | arch/x86/oprofile/op_model_ppro.c | 3 | ||||
-rw-r--r-- | arch/x86/oprofile/op_x86_model.h | 3 |
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 | ||
88 | static void op_amd_setup_ctrs(struct op_msrs const * const msrs) | 88 | static 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 | ||
545 | static void p4_setup_ctrs(struct op_msrs const * const msrs) | 545 | static 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 | ||
54 | static void ppro_setup_ctrs(struct op_msrs const * const msrs) | 54 | static 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); |