aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-powerpc/cputable.h
diff options
context:
space:
mode:
authorKumar Gala <galak@freescale.com>2005-09-27 16:13:12 -0400
committerPaul Mackerras <paulus@samba.org>2005-09-28 01:42:54 -0400
commit400d221274426958f1e1c7081a247bea9cede696 (patch)
treedb0907bc14504d827b06b45004152b6610387b40 /include/asm-powerpc/cputable.h
parent10b35d9978ac35556aec0d2642055742d8941488 (diff)
[PATCH] ppc32: make cur_cpu_spec a single pointer instead of an array
Changed ppc32 so that cur_cpu_spec is just a single pointer for all CPUs. Additionally, made call_setup_cpu check to see if the cpu_setup pointer is NULL or not before calling the function. This lets remove the dummy cpu_setup calls that just return. Signed-off-by: Kumar Gala <kumar.gala@freescale.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'include/asm-powerpc/cputable.h')
-rw-r--r--include/asm-powerpc/cputable.h16
1 files changed, 0 insertions, 16 deletions
diff --git a/include/asm-powerpc/cputable.h b/include/asm-powerpc/cputable.h
index 5f81d44963f1..1e50efab091d 100644
--- a/include/asm-powerpc/cputable.h
+++ b/include/asm-powerpc/cputable.h
@@ -25,11 +25,7 @@
25struct cpu_spec; 25struct cpu_spec;
26struct op_powerpc_model; 26struct op_powerpc_model;
27 27
28#ifdef __powerpc64__
29typedef void (*cpu_setup_t)(unsigned long offset, struct cpu_spec* spec); 28typedef void (*cpu_setup_t)(unsigned long offset, struct cpu_spec* spec);
30#else /* __powerpc64__ */
31typedef void (*cpu_setup_t)(unsigned long offset, int cpu_nr, struct cpu_spec* spec);
32#endif /* __powerpc64__ */
33 29
34struct cpu_spec { 30struct cpu_spec {
35 /* CPU is matched via (PVR & pvr_mask) == pvr_value */ 31 /* CPU is matched via (PVR & pvr_mask) == pvr_value */
@@ -51,23 +47,15 @@ struct cpu_spec {
51 * BHT, SPD, etc... from head.S before branching to identify_machine 47 * BHT, SPD, etc... from head.S before branching to identify_machine
52 */ 48 */
53 cpu_setup_t cpu_setup; 49 cpu_setup_t cpu_setup;
54#ifdef __powerpc64__
55 50
56 /* Used by oprofile userspace to select the right counters */ 51 /* Used by oprofile userspace to select the right counters */
57 char *oprofile_cpu_type; 52 char *oprofile_cpu_type;
58 53
59 /* Processor specific oprofile operations */ 54 /* Processor specific oprofile operations */
60 struct op_powerpc_model *oprofile_model; 55 struct op_powerpc_model *oprofile_model;
61#endif /* __powerpc64__ */
62}; 56};
63 57
64extern struct cpu_spec cpu_specs[];
65
66#ifdef __powerpc64__
67extern struct cpu_spec *cur_cpu_spec; 58extern struct cpu_spec *cur_cpu_spec;
68#else /* __powerpc64__ */
69extern struct cpu_spec *cur_cpu_spec[];
70#endif /* __powerpc64__ */
71 59
72#endif /* __ASSEMBLY__ */ 60#endif /* __ASSEMBLY__ */
73 61
@@ -398,11 +386,7 @@ static inline int cpu_has_feature(unsigned long feature)
398{ 386{
399 return (CPU_FTRS_ALWAYS & feature) || 387 return (CPU_FTRS_ALWAYS & feature) ||
400 (CPU_FTRS_POSSIBLE 388 (CPU_FTRS_POSSIBLE
401#ifndef __powerpc64__
402 & cur_cpu_spec[0]->cpu_features
403#else
404 & cur_cpu_spec->cpu_features 389 & cur_cpu_spec->cpu_features
405#endif
406 & feature); 390 & feature);
407} 391}
408 392