powerpc: consolidate cputable.c
authorStephen Rothwell <sfr@canb.auug.org.au>
Wed, 12 Oct 2005 05:55:09 +0000 (15:55 +1000)
committerStephen Rothwell <sfr@canb.auug.org.au>
Wed, 12 Oct 2005 23:49:45 +0000 (09:49 +1000)
Also simplify arch/ppc64/kernel/Makefile

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
arch/powerpc/kernel/Makefile
arch/powerpc/kernel/cputable.c [new file with mode: 0644]
arch/ppc/kernel/Makefile
arch/ppc/kernel/cputable.c [deleted file]
arch/ppc64/kernel/Makefile
arch/ppc64/kernel/cputable.c [deleted file]
include/asm-powerpc/cputable.h

index 93179538097855a57f009d12a0b7d115d611ecf0..f03f6d4ffaa6c3494c4af38dd20f0487fcf0c693 100644 (file)
@@ -10,7 +10,7 @@ CFLAGS_prom_init.o      += -fPIC
 CFLAGS_btext.o         += -fPIC
 endif
 
-obj-y                          := semaphore.o
+obj-y                          := semaphore.o cputable.o
 obj-$(CONFIG_ALTIVEC)          += vecemu.o vector.o
 obj-$(CONFIG_POWER4)           += idle_power4.o
 
diff --git a/arch/powerpc/kernel/cputable.c b/arch/powerpc/kernel/cputable.c
new file mode 100644 (file)
index 0000000..214f3b0
--- /dev/null
@@ -0,0 +1,997 @@
+/*
+ *  Copyright (C) 2001 Ben. Herrenschmidt (benh@kernel.crashing.org)
+ *
+ *  Modifications for ppc64:
+ *      Copyright (C) 2003 Dave Engebretsen <engebret@us.ibm.com>
+ *
+ *  This program is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU General Public License
+ *  as published by the Free Software Foundation; either version
+ *  2 of the License, or (at your option) any later version.
+ */
+
+#include <linux/config.h>
+#include <linux/string.h>
+#include <linux/sched.h>
+#include <linux/threads.h>
+#include <linux/init.h>
+#include <linux/module.h>
+
+#include <asm/oprofile_impl.h>
+#include <asm/cputable.h>
+
+struct cpu_spec* cur_cpu_spec = NULL;
+#ifdef CONFIG_PPC64
+EXPORT_SYMBOL(cur_cpu_spec);
+#endif
+
+/* NOTE:
+ * Unlike ppc32, ppc64 will only call this once for the boot CPU, it's
+ * the responsibility of the appropriate CPU save/restore functions to
+ * eventually copy these settings over. Those save/restore aren't yet
+ * part of the cputable though. That has to be fixed for both ppc32
+ * and ppc64
+ */
+#ifdef CONFIG_PPC64
+extern void __setup_cpu_power3(unsigned long offset, struct cpu_spec* spec);
+extern void __setup_cpu_power4(unsigned long offset, struct cpu_spec* spec);
+extern void __setup_cpu_be(unsigned long offset, struct cpu_spec* spec);
+#else
+extern void __setup_cpu_603(unsigned long offset, struct cpu_spec* spec);
+extern void __setup_cpu_604(unsigned long offset, struct cpu_spec* spec);
+extern void __setup_cpu_750(unsigned long offset, struct cpu_spec* spec);
+extern void __setup_cpu_750cx(unsigned long offset, struct cpu_spec* spec);
+extern void __setup_cpu_750fx(unsigned long offset, struct cpu_spec* spec);
+extern void __setup_cpu_7400(unsigned long offset, struct cpu_spec* spec);
+extern void __setup_cpu_7410(unsigned long offset, struct cpu_spec* spec);
+extern void __setup_cpu_745x(unsigned long offset, struct cpu_spec* spec);
+#endif /* CONFIG_PPC32 */
+extern void __setup_cpu_ppc970(unsigned long offset, struct cpu_spec* spec);
+
+/* This table only contains "desktop" CPUs, it need to be filled with embedded
+ * ones as well...
+ */
+#define COMMON_USER            (PPC_FEATURE_32 | PPC_FEATURE_HAS_FPU | \
+                                PPC_FEATURE_HAS_MMU)
+#define COMMON_USER_PPC64      (COMMON_USER | PPC_FEATURE_64)
+
+
+/* We only set the spe features if the kernel was compiled with
+ * spe support
+ */
+#ifdef CONFIG_SPE
+#define PPC_FEATURE_SPE_COMP   PPC_FEATURE_HAS_SPE
+#else
+#define PPC_FEATURE_SPE_COMP   0
+#endif
+
+struct cpu_spec        cpu_specs[] = {
+#ifdef CONFIG_PPC64
+       {       /* Power3 */
+               .pvr_mask               = 0xffff0000,
+               .pvr_value              = 0x00400000,
+               .cpu_name               = "POWER3 (630)",
+               .cpu_features           = CPU_FTRS_POWER3,
+               .cpu_user_features      = COMMON_USER_PPC64,
+               .icache_bsize           = 128,
+               .dcache_bsize           = 128,
+               .num_pmcs               = 8,
+               .cpu_setup              = __setup_cpu_power3,
+#ifdef CONFIG_OPROFILE
+               .oprofile_cpu_type      = "ppc64/power3",
+               .oprofile_model         = &op_model_rs64,
+#endif
+       },
+       {       /* Power3+ */
+               .pvr_mask               = 0xffff0000,
+               .pvr_value              = 0x00410000,
+               .cpu_name               = "POWER3 (630+)",
+               .cpu_features           = CPU_FTRS_POWER3,
+               .cpu_user_features      = COMMON_USER_PPC64,
+               .icache_bsize           = 128,
+               .dcache_bsize           = 128,
+               .num_pmcs               = 8,
+               .cpu_setup              = __setup_cpu_power3,
+#ifdef CONFIG_OPROFILE
+               .oprofile_cpu_type      = "ppc64/power3",
+               .oprofile_model         = &op_model_rs64,
+#endif
+       },
+       {       /* Northstar */
+               .pvr_mask               = 0xffff0000,
+               .pvr_value              = 0x00330000,
+               .cpu_name               = "RS64-II (northstar)",
+               .cpu_features           = CPU_FTRS_RS64,
+               .cpu_user_features      = COMMON_USER_PPC64,
+               .icache_bsize           = 128,
+               .dcache_bsize           = 128,
+               .num_pmcs               = 8,
+               .cpu_setup              = __setup_cpu_power3,
+#ifdef CONFIG_OPROFILE
+               .oprofile_cpu_type      = "ppc64/rs64",
+               .oprofile_model         = &op_model_rs64,
+#endif
+       },
+       {       /* Pulsar */
+               .pvr_mask               = 0xffff0000,
+               .pvr_value              = 0x00340000,
+               .cpu_name               = "RS64-III (pulsar)",
+               .cpu_features           = CPU_FTRS_RS64,
+               .cpu_user_features      = COMMON_USER_PPC64,
+               .icache_bsize           = 128,
+               .dcache_bsize           = 128,
+               .num_pmcs               = 8,
+               .cpu_setup              = __setup_cpu_power3,
+#ifdef CONFIG_OPROFILE
+               .oprofile_cpu_type      = "ppc64/rs64",
+               .oprofile_model         = &op_model_rs64,
+#endif
+       },
+       {       /* I-star */
+               .pvr_mask               = 0xffff0000,
+               .pvr_value              = 0x00360000,
+               .cpu_name               = "RS64-III (icestar)",
+               .cpu_features           = CPU_FTRS_RS64,
+               .cpu_user_features      = COMMON_USER_PPC64,
+               .icache_bsize           = 128,
+               .dcache_bsize           = 128,
+               .num_pmcs               = 8,
+               .cpu_setup              = __setup_cpu_power3,
+#ifdef CONFIG_OPROFILE
+               .oprofile_cpu_type      = "ppc64/rs64",
+               .oprofile_model         = &op_model_rs64,
+#endif
+       },
+       {       /* S-star */
+               .pvr_mask               = 0xffff0000,
+               .pvr_value              = 0x00370000,
+               .cpu_name               = "RS64-IV (sstar)",
+               .cpu_features           = CPU_FTRS_RS64,
+               .cpu_user_features      = COMMON_USER_PPC64,
+               .icache_bsize           = 128,
+               .dcache_bsize           = 128,
+               .num_pmcs               = 8,
+               .cpu_setup              = __setup_cpu_power3,
+#ifdef CONFIG_OPROFILE
+               .oprofile_cpu_type      = "ppc64/rs64",
+               .oprofile_model         = &op_model_rs64,
+#endif
+       },
+       {       /* Power4 */
+               .pvr_mask               = 0xffff0000,
+               .pvr_value              = 0x00350000,
+               .cpu_name               = "POWER4 (gp)",
+               .cpu_features           = CPU_FTRS_POWER4,
+               .cpu_user_features      = COMMON_USER_PPC64,
+               .icache_bsize           = 128,
+               .dcache_bsize           = 128,
+               .num_pmcs               = 8,
+               .cpu_setup              = __setup_cpu_power4,
+#ifdef CONFIG_OPROFILE
+               .oprofile_cpu_type      = "ppc64/power4",
+               .oprofile_model         = &op_model_rs64,
+#endif
+       },
+       {       /* Power4+ */
+               .pvr_mask               = 0xffff0000,
+               .pvr_value              = 0x00380000,
+               .cpu_name               = "POWER4+ (gq)",
+               .cpu_features           = CPU_FTRS_POWER4,
+               .cpu_user_features      = COMMON_USER_PPC64,
+               .icache_bsize           = 128,
+               .dcache_bsize           = 128,
+               .num_pmcs               = 8,
+               .cpu_setup              = __setup_cpu_power4,
+#ifdef CONFIG_OPROFILE
+               .oprofile_cpu_type      = "ppc64/power4",
+               .oprofile_model         = &op_model_power4,
+#endif
+       },
+       {       /* PPC970 */
+               .pvr_mask               = 0xffff0000,
+               .pvr_value              = 0x00390000,
+               .cpu_name               = "PPC970",
+               .cpu_features           = CPU_FTRS_PPC970,
+               .cpu_user_features      = COMMON_USER_PPC64 |
+                       PPC_FEATURE_HAS_ALTIVEC_COMP,
+               .icache_bsize           = 128,
+               .dcache_bsize           = 128,
+               .num_pmcs               = 8,
+               .cpu_setup              = __setup_cpu_ppc970,
+#ifdef CONFIG_OPROFILE
+               .oprofile_cpu_type      = "ppc64/970",
+               .oprofile_model         = &op_model_power4,
+#endif
+       },
+#endif /* CONFIG_PPC64 */
+#if defined(CONFIG_PPC64) || defined(CONFIG_POWER4)
+       {       /* PPC970FX */
+               .pvr_mask               = 0xffff0000,
+               .pvr_value              = 0x003c0000,
+               .cpu_name               = "PPC970FX",
+#ifdef CONFIG_PPC32
+               .cpu_features           = CPU_FTRS_970_32,
+#else
+               .cpu_features           = CPU_FTRS_PPC970,
+#endif
+               .cpu_user_features      = COMMON_USER_PPC64 |
+                       PPC_FEATURE_HAS_ALTIVEC_COMP,
+               .icache_bsize           = 128,
+               .dcache_bsize           = 128,
+               .num_pmcs               = 8,
+               .cpu_setup              = __setup_cpu_ppc970,
+#ifdef CONFIG_OPROFILE
+               .oprofile_cpu_type      = "ppc64/970",
+               .oprofile_model         = &op_model_power4,
+#endif
+       },
+#endif /* defined(CONFIG_PPC64) || defined(CONFIG_POWER4) */
+#ifdef CONFIG_PPC64
+       {       /* PPC970MP */
+               .pvr_mask               = 0xffff0000,
+               .pvr_value              = 0x00440000,
+               .cpu_name               = "PPC970MP",
+               .cpu_features           = CPU_FTRS_PPC970,
+               .cpu_user_features      = COMMON_USER_PPC64 |
+                       PPC_FEATURE_HAS_ALTIVEC_COMP,
+               .icache_bsize           = 128,
+               .dcache_bsize           = 128,
+               .cpu_setup              = __setup_cpu_ppc970,
+#ifdef CONFIG_OPROFILE
+               .oprofile_cpu_type      = "ppc64/970",
+               .oprofile_model         = &op_model_power4,
+#endif
+       },
+       {       /* Power5 */
+               .pvr_mask               = 0xffff0000,
+               .pvr_value              = 0x003a0000,
+               .cpu_name               = "POWER5 (gr)",
+               .cpu_features           = CPU_FTRS_POWER5,
+               .cpu_user_features      = COMMON_USER_PPC64,
+               .icache_bsize           = 128,
+               .dcache_bsize           = 128,
+               .num_pmcs               = 6,
+               .cpu_setup              = __setup_cpu_power4,
+#ifdef CONFIG_OPROFILE
+               .oprofile_cpu_type      = "ppc64/power5",
+               .oprofile_model         = &op_model_power4,
+#endif
+       },
+       {       /* Power5 */
+               .pvr_mask               = 0xffff0000,
+               .pvr_value              = 0x003b0000,
+               .cpu_name               = "POWER5 (gs)",
+               .cpu_features           = CPU_FTRS_POWER5,
+               .cpu_user_features      = COMMON_USER_PPC64,
+               .icache_bsize           = 128,
+               .dcache_bsize           = 128,
+               .num_pmcs               = 6,
+               .cpu_setup              = __setup_cpu_power4,
+#ifdef CONFIG_OPROFILE
+               .oprofile_cpu_type      = "ppc64/power5",
+               .oprofile_model         = &op_model_power4,
+#endif
+       },
+       {       /* BE DD1.x */
+               .pvr_mask               = 0xffff0000,
+               .pvr_value              = 0x00700000,
+               .cpu_name               = "Cell Broadband Engine",
+               .cpu_features           = CPU_FTRS_CELL,
+               .cpu_user_features      = COMMON_USER_PPC64 |
+                       PPC_FEATURE_HAS_ALTIVEC_COMP,
+               .icache_bsize           = 128,
+               .dcache_bsize           = 128,
+               .cpu_setup              = __setup_cpu_be,
+       },
+       {       /* default match */
+               .pvr_mask               = 0x00000000,
+               .pvr_value              = 0x00000000,
+               .cpu_name               = "POWER4 (compatible)",
+               .cpu_features           = CPU_FTRS_COMPATIBLE,
+               .cpu_user_features      = COMMON_USER_PPC64,
+               .icache_bsize           = 128,
+               .dcache_bsize           = 128,
+               .num_pmcs               = 6,
+               .cpu_setup              = __setup_cpu_power4,
+       }
+#endif /* CONFIG_PPC64 */
+#ifdef CONFIG_PPC32
+#if CLASSIC_PPC
+       {       /* 601 */
+               .pvr_mask               = 0xffff0000,
+               .pvr_value              = 0x00010000,
+               .cpu_name               = "601",
+               .cpu_features           = CPU_FTRS_PPC601,
+               .cpu_user_features      = COMMON_USER | PPC_FEATURE_601_INSTR |
+                       PPC_FEATURE_UNIFIED_CACHE,
+               .icache_bsize           = 32,
+               .dcache_bsize           = 32,
+       },
+       {       /* 603 */
+               .pvr_mask               = 0xffff0000,
+               .pvr_value              = 0x00030000,
+               .cpu_name               = "603",
+               .cpu_features           = CPU_FTRS_603,
+               .cpu_user_features      = COMMON_USER,
+               .icache_bsize           = 32,
+               .dcache_bsize           = 32,
+               .cpu_setup              = __setup_cpu_603
+       },
+       {       /* 603e */
+               .pvr_mask               = 0xffff0000,
+               .pvr_value              = 0x00060000,
+               .cpu_name               = "603e",
+               .cpu_features           = CPU_FTRS_603,
+               .cpu_user_features      = COMMON_USER,
+               .icache_bsize           = 32,
+               .dcache_bsize           = 32,
+               .cpu_setup              = __setup_cpu_603
+       },
+       {       /* 603ev */
+               .pvr_mask               = 0xffff0000,
+               .pvr_value              = 0x00070000,
+               .cpu_name               = "603ev",
+               .cpu_features           = CPU_FTRS_603,
+               .cpu_user_features      = COMMON_USER,
+               .icache_bsize           = 32,
+               .dcache_bsize           = 32,
+               .cpu_setup              = __setup_cpu_603
+       },
+       {       /* 604 */
+               .pvr_mask               = 0xffff0000,
+               .pvr_value              = 0x00040000,
+               .cpu_name               = "604",
+               .cpu_features           = CPU_FTRS_604,
+               .cpu_user_features      = COMMON_USER,
+               .icache_bsize           = 32,
+               .dcache_bsize           = 32,
+               .num_pmcs               = 2,
+               .cpu_setup              = __setup_cpu_604
+       },
+       {       /* 604e */
+               .pvr_mask               = 0xfffff000,
+               .pvr_value              = 0x00090000,
+               .cpu_name               = "604e",
+               .cpu_features           = CPU_FTRS_604,
+               .cpu_user_features      = COMMON_USER,
+               .icache_bsize           = 32,
+               .dcache_bsize           = 32,
+               .num_pmcs               = 4,
+               .cpu_setup              = __setup_cpu_604
+       },
+       {       /* 604r */
+               .pvr_mask               = 0xffff0000,
+               .pvr_value              = 0x00090000,
+               .cpu_name               = "604r",
+               .cpu_features           = CPU_FTRS_604,
+               .cpu_user_features      = COMMON_USER,
+               .icache_bsize           = 32,
+               .dcache_bsize           = 32,
+               .num_pmcs               = 4,
+               .cpu_setup              = __setup_cpu_604
+       },
+       {       /* 604ev */
+               .pvr_mask               = 0xffff0000,
+               .pvr_value              = 0x000a0000,
+               .cpu_name               = "604ev",
+               .cpu_features           = CPU_FTRS_604,
+               .cpu_user_features      = COMMON_USER,
+               .icache_bsize           = 32,
+               .dcache_bsize           = 32,
+               .num_pmcs               = 4,
+               .cpu_setup              = __setup_cpu_604
+       },
+       {       /* 740/750 (0x4202, don't support TAU ?) */
+               .pvr_mask               = 0xffffffff,
+               .pvr_value              = 0x00084202,
+               .cpu_name               = "740/750",
+               .cpu_features           = CPU_FTRS_740_NOTAU,
+               .cpu_user_features      = COMMON_USER,
+               .icache_bsize           = 32,
+               .dcache_bsize           = 32,
+               .num_pmcs               = 4,
+               .cpu_setup              = __setup_cpu_750
+       },
+       {       /* 750CX (80100 and 8010x?) */
+               .pvr_mask               = 0xfffffff0,
+               .pvr_value              = 0x00080100,
+               .cpu_name               = "750CX",
+               .cpu_features           = CPU_FTRS_750,
+               .cpu_user_features      = COMMON_USER,
+               .icache_bsize           = 32,
+               .dcache_bsize           = 32,
+               .num_pmcs               = 4,
+               .cpu_setup              = __setup_cpu_750cx
+       },
+       {       /* 750CX (82201 and 82202) */
+               .pvr_mask               = 0xfffffff0,
+               .pvr_value              = 0x00082200,
+               .cpu_name               = "750CX",
+               .cpu_features           = CPU_FTRS_750,
+               .cpu_user_features      = COMMON_USER,
+               .icache_bsize           = 32,
+               .dcache_bsize           = 32,
+               .num_pmcs               = 4,
+               .cpu_setup              = __setup_cpu_750cx
+       },
+       {       /* 750CXe (82214) */
+               .pvr_mask               = 0xfffffff0,
+               .pvr_value              = 0x00082210,
+               .cpu_name               = "750CXe",
+               .cpu_features           = CPU_FTRS_750,
+               .cpu_user_features      = COMMON_USER,
+               .icache_bsize           = 32,
+               .dcache_bsize           = 32,
+               .num_pmcs               = 4,
+               .cpu_setup              = __setup_cpu_750cx
+       },
+       {       /* 750CXe "Gekko" (83214) */
+               .pvr_mask               = 0xffffffff,
+               .pvr_value              = 0x00083214,
+               .cpu_name               = "750CXe",
+               .cpu_features           = CPU_FTRS_750,
+               .cpu_user_features      = COMMON_USER,
+               .icache_bsize           = 32,
+               .dcache_bsize           = 32,
+               .num_pmcs               = 4,
+               .cpu_setup              = __setup_cpu_750cx
+       },
+       {       /* 745/755 */
+               .pvr_mask               = 0xfffff000,
+               .pvr_value              = 0x00083000,
+               .cpu_name               = "745/755",
+               .cpu_features           = CPU_FTRS_750,
+               .cpu_user_features      = COMMON_USER,
+               .icache_bsize           = 32,
+               .dcache_bsize           = 32,
+               .num_pmcs               = 4,
+               .cpu_setup              = __setup_cpu_750
+       },
+       {       /* 750FX rev 1.x */
+               .pvr_mask               = 0xffffff00,
+               .pvr_value              = 0x70000100,
+               .cpu_name               = "750FX",
+               .cpu_features           = CPU_FTRS_750FX1,
+               .cpu_user_features      = COMMON_USER,
+               .icache_bsize           = 32,
+               .dcache_bsize           = 32,
+               .num_pmcs               = 4,
+               .cpu_setup              = __setup_cpu_750
+       },
+       {       /* 750FX rev 2.0 must disable HID0[DPM] */
+               .pvr_mask               = 0xffffffff,
+               .pvr_value              = 0x70000200,
+               .cpu_name               = "750FX",
+               .cpu_features           = CPU_FTRS_750FX2,
+               .cpu_user_features      = COMMON_USER,
+               .icache_bsize           = 32,
+               .dcache_bsize           = 32,
+               .num_pmcs               = 4,
+               .cpu_setup              = __setup_cpu_750
+       },
+       {       /* 750FX (All revs except 2.0) */
+               .pvr_mask               = 0xffff0000,
+               .pvr_value              = 0x70000000,
+               .cpu_name               = "750FX",
+               .cpu_features           = CPU_FTRS_750FX,
+               .cpu_user_features      = COMMON_USER,
+               .icache_bsize           = 32,
+               .dcache_bsize           = 32,
+               .num_pmcs               = 4,
+               .cpu_setup              = __setup_cpu_750fx
+       },
+       {       /* 750GX */
+               .pvr_mask               = 0xffff0000,
+               .pvr_value              = 0x70020000,
+               .cpu_name               = "750GX",
+               .cpu_features           = CPU_FTRS_750GX,
+               .cpu_user_features      = COMMON_USER,
+               .icache_bsize           = 32,
+               .dcache_bsize           = 32,
+               .num_pmcs               = 4,
+               .cpu_setup              = __setup_cpu_750fx
+       },
+       {       /* 740/750 (L2CR bit need fixup for 740) */
+               .pvr_mask               = 0xffff0000,
+               .pvr_value              = 0x00080000,
+               .cpu_name               = "740/750",
+               .cpu_features           = CPU_FTRS_740,
+               .cpu_user_features      = COMMON_USER,
+               .icache_bsize           = 32,
+               .dcache_bsize           = 32,
+               .num_pmcs               = 4,
+               .cpu_setup              = __setup_cpu_750
+       },
+       {       /* 7400 rev 1.1 ? (no TAU) */
+               .pvr_mask               = 0xffffffff,
+               .pvr_value              = 0x000c1101,
+               .cpu_name               = "7400 (1.1)",
+               .cpu_features           = CPU_FTRS_7400_NOTAU,
+               .cpu_user_features      = COMMON_USER | PPC_FEATURE_HAS_ALTIVEC_COMP,
+               .icache_bsize           = 32,
+               .dcache_bsize           = 32,
+               .num_pmcs               = 4,
+               .cpu_setup              = __setup_cpu_7400
+       },
+       {       /* 7400 */
+               .pvr_mask               = 0xffff0000,
+               .pvr_value              = 0x000c0000,
+               .cpu_name               = "7400",
+               .cpu_features           = CPU_FTRS_7400,
+               .cpu_user_features      = COMMON_USER | PPC_FEATURE_HAS_ALTIVEC_COMP,
+               .icache_bsize           = 32,
+               .dcache_bsize           = 32,
+               .num_pmcs               = 4,
+               .cpu_setup              = __setup_cpu_7400
+       },
+       {       /* 7410 */
+               .pvr_mask               = 0xffff0000,
+               .pvr_value              = 0x800c0000,
+               .cpu_name               = "7410",
+               .cpu_features           = CPU_FTRS_7400,
+               .cpu_user_features      = COMMON_USER | PPC_FEATURE_HAS_ALTIVEC_COMP,
+               .icache_bsize           = 32,
+               .dcache_bsize           = 32,
+               .num_pmcs               = 4,
+               .cpu_setup              = __setup_cpu_7410
+       },
+       {       /* 7450 2.0 - no doze/nap */
+               .pvr_mask               = 0xffffffff,
+               .pvr_value              = 0x80000200,
+               .cpu_name               = "7450",
+               .cpu_features           = CPU_FTRS_7450_20,
+               .cpu_user_features      = COMMON_USER | PPC_FEATURE_HAS_ALTIVEC_COMP,
+               .icache_bsize           = 32,
+               .dcache_bsize           = 32,
+               .num_pmcs               = 6,
+               .cpu_setup              = __setup_cpu_745x
+       },
+       {       /* 7450 2.1 */
+               .pvr_mask               = 0xffffffff,
+               .pvr_value              = 0x80000201,
+               .cpu_name               = "7450",
+               .cpu_features           = CPU_FTRS_7450_21,
+               .cpu_user_features      = COMMON_USER | PPC_FEATURE_HAS_ALTIVEC_COMP,
+               .icache_bsize           = 32,
+               .dcache_bsize           = 32,
+               .num_pmcs               = 6,
+               .cpu_setup              = __setup_cpu_745x
+       },
+       {       /* 7450 2.3 and newer */
+               .pvr_mask               = 0xffff0000,
+               .pvr_value              = 0x80000000,
+               .cpu_name               = "7450",
+               .cpu_features           = CPU_FTRS_7450_23,
+               .cpu_user_features      = COMMON_USER | PPC_FEATURE_HAS_ALTIVEC_COMP,
+               .icache_bsize           = 32,
+               .dcache_bsize           = 32,
+               .num_pmcs               = 6,
+               .cpu_setup              = __setup_cpu_745x
+       },
+       {       /* 7455 rev 1.x */
+               .pvr_mask               = 0xffffff00,
+               .pvr_value              = 0x80010100,
+               .cpu_name               = "7455",
+               .cpu_features           = CPU_FTRS_7455_1,
+               .cpu_user_features      = COMMON_USER | PPC_FEATURE_HAS_ALTIVEC_COMP,
+               .icache_bsize           = 32,
+               .dcache_bsize           = 32,
+               .num_pmcs               = 6,
+               .cpu_setup              = __setup_cpu_745x
+       },
+       {       /* 7455 rev 2.0 */
+               .pvr_mask               = 0xffffffff,
+               .pvr_value              = 0x80010200,
+               .cpu_name               = "7455",
+               .cpu_features           = CPU_FTRS_7455_20,
+               .cpu_user_features      = COMMON_USER | PPC_FEATURE_HAS_ALTIVEC_COMP,
+               .icache_bsize           = 32,
+               .dcache_bsize           = 32,
+               .num_pmcs               = 6,
+               .cpu_setup              = __setup_cpu_745x
+       },
+       {       /* 7455 others */
+               .pvr_mask               = 0xffff0000,
+               .pvr_value              = 0x80010000,
+               .cpu_name               = "7455",
+               .cpu_features           = CPU_FTRS_7455,
+               .cpu_user_features      = COMMON_USER | PPC_FEATURE_HAS_ALTIVEC_COMP,
+               .icache_bsize           = 32,
+               .dcache_bsize           = 32,
+               .num_pmcs               = 6,
+               .cpu_setup              = __setup_cpu_745x
+       },
+       {       /* 7447/7457 Rev 1.0 */
+               .pvr_mask               = 0xffffffff,
+               .pvr_value              = 0x80020100,
+               .cpu_name               = "7447/7457",
+               .cpu_features           = CPU_FTRS_7447_10,
+               .cpu_user_features      = COMMON_USER | PPC_FEATURE_HAS_ALTIVEC_COMP,
+               .icache_bsize           = 32,
+               .dcache_bsize           = 32,
+               .num_pmcs               = 6,
+               .cpu_setup              = __setup_cpu_745x
+       },
+       {       /* 7447/7457 Rev 1.1 */
+               .pvr_mask               = 0xffffffff,
+               .pvr_value              = 0x80020101,
+               .cpu_name               = "7447/7457",
+               .cpu_features           = CPU_FTRS_7447_10,
+               .cpu_user_features      = COMMON_USER | PPC_FEATURE_HAS_ALTIVEC_COMP,
+               .icache_bsize           = 32,
+               .dcache_bsize           = 32,
+               .num_pmcs               = 6,
+               .cpu_setup              = __setup_cpu_745x
+       },
+       {       /* 7447/7457 Rev 1.2 and later */
+               .pvr_mask               = 0xffff0000,
+               .pvr_value              = 0x80020000,
+               .cpu_name               = "7447/7457",
+               .cpu_features           = CPU_FTRS_7447,
+               .cpu_user_features      = COMMON_USER | PPC_FEATURE_HAS_ALTIVEC_COMP,
+               .icache_bsize           = 32,
+               .dcache_bsize           = 32,
+               .num_pmcs               = 6,
+               .cpu_setup              = __setup_cpu_745x
+       },
+       {       /* 7447A */
+               .pvr_mask               = 0xffff0000,
+               .pvr_value              = 0x80030000,
+               .cpu_name               = "7447A",
+               .cpu_features           = CPU_FTRS_7447A,
+               .cpu_user_features      = COMMON_USER | PPC_FEATURE_HAS_ALTIVEC_COMP,
+               .icache_bsize           = 32,
+               .dcache_bsize           = 32,
+               .num_pmcs               = 6,
+               .cpu_setup              = __setup_cpu_745x
+       },
+       {       /* 7448 */
+               .pvr_mask               = 0xffff0000,
+               .pvr_value              = 0x80040000,
+               .cpu_name               = "7448",
+               .cpu_features           = CPU_FTRS_7447A,
+               .cpu_user_features      = COMMON_USER | PPC_FEATURE_HAS_ALTIVEC_COMP,
+               .icache_bsize           = 32,
+               .dcache_bsize           = 32,
+               .num_pmcs               = 6,
+               .cpu_setup              = __setup_cpu_745x
+       },
+       {       /* 82xx (8240, 8245, 8260 are all 603e cores) */
+               .pvr_mask               = 0x7fff0000,
+               .pvr_value              = 0x00810000,
+               .cpu_name               = "82xx",
+               .cpu_features           = CPU_FTRS_82XX,
+               .cpu_user_features      = COMMON_USER,
+               .icache_bsize           = 32,
+               .dcache_bsize           = 32,
+               .cpu_setup              = __setup_cpu_603
+       },
+       {       /* All G2_LE (603e core, plus some) have the same pvr */
+               .pvr_mask               = 0x7fff0000,
+               .pvr_value              = 0x00820000,
+               .cpu_name               = "G2_LE",
+               .cpu_features           = CPU_FTRS_G2_LE,
+               .cpu_user_features      = COMMON_USER,
+               .icache_bsize           = 32,
+               .dcache_bsize           = 32,
+               .cpu_setup              = __setup_cpu_603
+       },
+       {       /* e300 (a 603e core, plus some) on 83xx */
+               .pvr_mask               = 0x7fff0000,
+               .pvr_value              = 0x00830000,
+               .cpu_name               = "e300",
+               .cpu_features           = CPU_FTRS_E300,
+               .cpu_user_features      = COMMON_USER,
+               .icache_bsize           = 32,
+               .dcache_bsize           = 32,
+               .cpu_setup              = __setup_cpu_603
+       },
+       {       /* default match, we assume split I/D cache & TB (non-601)... */
+               .pvr_mask               = 0x00000000,
+               .pvr_value              = 0x00000000,
+               .cpu_name               = "(generic PPC)",
+               .cpu_features           = CPU_FTRS_CLASSIC32,
+               .cpu_user_features      = COMMON_USER,
+               .icache_bsize           = 32,
+               .dcache_bsize           = 32,
+       },
+#endif /* CLASSIC_PPC */
+#ifdef CONFIG_8xx
+       {       /* 8xx */
+               .pvr_mask               = 0xffff0000,
+               .pvr_value              = 0x00500000,
+               .cpu_name               = "8xx",
+               /* CPU_FTR_MAYBE_CAN_DOZE is possible,
+                * if the 8xx code is there.... */
+               .cpu_features           = CPU_FTRS_8XX,
+               .cpu_user_features      = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU,
+               .icache_bsize           = 16,
+               .dcache_bsize           = 16,
+       },
+#endif /* CONFIG_8xx */
+#ifdef CONFIG_40x
+       {       /* 403GC */
+               .pvr_mask               = 0xffffff00,
+               .pvr_value              = 0x00200200,
+               .cpu_name               = "403GC",
+               .cpu_features           = CPU_FTRS_40X,
+               .cpu_user_features      = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU,
+               .icache_bsize           = 16,
+               .dcache_bsize           = 16,
+       },
+       {       /* 403GCX */
+               .pvr_mask               = 0xffffff00,
+               .pvr_value              = 0x00201400,
+               .cpu_name               = "403GCX",
+               .cpu_features           = CPU_FTRS_40X,
+               .cpu_user_features      = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU,
+               .icache_bsize           = 16,
+               .dcache_bsize           = 16,
+       },
+       {       /* 403G ?? */
+               .pvr_mask               = 0xffff0000,
+               .pvr_value              = 0x00200000,
+               .cpu_name               = "403G ??",
+               .cpu_features           = CPU_FTRS_40X,
+               .cpu_user_features      = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU,
+               .icache_bsize           = 16,
+               .dcache_bsize           = 16,
+       },
+       {       /* 405GP */
+               .pvr_mask               = 0xffff0000,
+               .pvr_value              = 0x40110000,
+               .cpu_name               = "405GP",
+               .cpu_features           = CPU_FTRS_40X,
+               .cpu_user_features      = PPC_FEATURE_32 |
+                       PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
+               .icache_bsize           = 32,
+               .dcache_bsize           = 32,
+       },
+       {       /* STB 03xxx */
+               .pvr_mask               = 0xffff0000,
+               .pvr_value              = 0x40130000,
+               .cpu_name               = "STB03xxx",
+               .cpu_features           = CPU_FTRS_40X,
+               .cpu_user_features      = PPC_FEATURE_32 |
+                       PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
+               .icache_bsize           = 32,
+               .dcache_bsize           = 32,
+       },
+       {       /* STB 04xxx */
+               .pvr_mask               = 0xffff0000,
+               .pvr_value              = 0x41810000,
+               .cpu_name               = "STB04xxx",
+               .cpu_features           = CPU_FTRS_40X,
+               .cpu_user_features      = PPC_FEATURE_32 |
+                       PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
+               .icache_bsize           = 32,
+               .dcache_bsize           = 32,
+       },
+       {       /* NP405L */
+               .pvr_mask               = 0xffff0000,
+               .pvr_value              = 0x41610000,
+               .cpu_name               = "NP405L",
+               .cpu_features           = CPU_FTRS_40X,
+               .cpu_user_features      = PPC_FEATURE_32 |
+                       PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
+               .icache_bsize           = 32,
+               .dcache_bsize           = 32,
+       },
+       {       /* NP4GS3 */
+               .pvr_mask               = 0xffff0000,
+               .pvr_value              = 0x40B10000,
+               .cpu_name               = "NP4GS3",
+               .cpu_features           = CPU_FTRS_40X,
+               .cpu_user_features      = PPC_FEATURE_32 |
+                       PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
+               .icache_bsize           = 32,
+               .dcache_bsize           = 32,
+       },
+       {   /* NP405H */
+               .pvr_mask               = 0xffff0000,
+               .pvr_value              = 0x41410000,
+               .cpu_name               = "NP405H",
+               .cpu_features           = CPU_FTRS_40X,
+               .cpu_user_features      = PPC_FEATURE_32 |
+                       PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
+               .icache_bsize           = 32,
+               .dcache_bsize           = 32,
+       },
+       {       /* 405GPr */
+               .pvr_mask               = 0xffff0000,
+               .pvr_value              = 0x50910000,
+               .cpu_name               = "405GPr",
+               .cpu_features           = CPU_FTRS_40X,
+               .cpu_user_features      = PPC_FEATURE_32 |
+                       PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
+               .icache_bsize           = 32,
+               .dcache_bsize           = 32,
+       },
+       {   /* STBx25xx */
+               .pvr_mask               = 0xffff0000,
+               .pvr_value              = 0x51510000,
+               .cpu_name               = "STBx25xx",
+               .cpu_features           = CPU_FTRS_40X,
+               .cpu_user_features      = PPC_FEATURE_32 |
+                       PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
+               .icache_bsize           = 32,
+               .dcache_bsize           = 32,
+       },
+       {       /* 405LP */
+               .pvr_mask               = 0xffff0000,
+               .pvr_value              = 0x41F10000,
+               .cpu_name               = "405LP",
+               .cpu_features           = CPU_FTRS_40X,
+               .cpu_user_features      = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU,
+               .icache_bsize           = 32,
+               .dcache_bsize           = 32,
+       },
+       {       /* Xilinx Virtex-II Pro  */
+               .pvr_mask               = 0xffff0000,
+               .pvr_value              = 0x20010000,
+               .cpu_name               = "Virtex-II Pro",
+               .cpu_features           = CPU_FTRS_40X,
+               .cpu_user_features      = PPC_FEATURE_32 |
+                       PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
+               .icache_bsize           = 32,
+               .dcache_bsize           = 32,
+       },
+       {       /* 405EP */
+               .pvr_mask               = 0xffff0000,
+               .pvr_value              = 0x51210000,
+               .cpu_name               = "405EP",
+               .cpu_features           = CPU_FTRS_40X,
+               .cpu_user_features      = PPC_FEATURE_32 |
+                       PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
+               .icache_bsize           = 32,
+               .dcache_bsize           = 32,
+       },
+
+#endif /* CONFIG_40x */
+#ifdef CONFIG_44x
+       {
+               .pvr_mask               = 0xf0000fff,
+               .pvr_value              = 0x40000850,
+               .cpu_name               = "440EP Rev. A",
+               .cpu_features           = CPU_FTRS_44X,
+               .cpu_user_features      = COMMON_USER, /* 440EP has an FPU */
+               .icache_bsize           = 32,
+               .dcache_bsize           = 32,
+       },
+       {
+               .pvr_mask               = 0xf0000fff,
+               .pvr_value              = 0x400008d3,
+               .cpu_name               = "440EP Rev. B",
+               .cpu_features           = CPU_FTRS_44X,
+               .cpu_user_features      = COMMON_USER, /* 440EP has an FPU */
+               .icache_bsize           = 32,
+               .dcache_bsize           = 32,
+       },
+       {       /* 440GP Rev. B */
+               .pvr_mask               = 0xf0000fff,
+               .pvr_value              = 0x40000440,
+               .cpu_name               = "440GP Rev. B",
+               .cpu_features           = CPU_FTRS_44X,
+               .cpu_user_features      = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU,
+               .icache_bsize           = 32,
+               .dcache_bsize           = 32,
+       },
+       {       /* 440GP Rev. C */
+               .pvr_mask               = 0xf0000fff,
+               .pvr_value              = 0x40000481,
+               .cpu_name               = "440GP Rev. C",
+               .cpu_features           = CPU_FTRS_44X,
+               .cpu_user_features      = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU,
+               .icache_bsize           = 32,
+               .dcache_bsize           = 32,
+       },
+       { /* 440GX Rev. A */
+               .pvr_mask               = 0xf0000fff,
+               .pvr_value              = 0x50000850,
+               .cpu_name               = "440GX Rev. A",
+               .cpu_features           = CPU_FTRS_44X,
+               .cpu_user_features      = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU,
+               .icache_bsize           = 32,
+               .dcache_bsize           = 32,
+       },
+       { /* 440GX Rev. B */
+               .pvr_mask               = 0xf0000fff,
+               .pvr_value              = 0x50000851,
+               .cpu_name               = "440GX Rev. B",
+               .cpu_features           = CPU_FTRS_44X,
+               .cpu_user_features      = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU,
+               .icache_bsize           = 32,
+               .dcache_bsize           = 32,
+       },
+       { /* 440GX Rev. C */
+               .pvr_mask               = 0xf0000fff,
+               .pvr_value              = 0x50000892,
+               .cpu_name               = "440GX Rev. C",
+               .cpu_features           = CPU_FTRS_44X,
+               .cpu_user_features      = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU,
+               .icache_bsize           = 32,
+               .dcache_bsize           = 32,
+       },
+       { /* 440GX Rev. F */
+               .pvr_mask               = 0xf0000fff,
+               .pvr_value              = 0x50000894,
+               .cpu_name               = "440GX Rev. F",
+               .cpu_features           = CPU_FTRS_44X,
+               .cpu_user_features      = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU,
+               .icache_bsize           = 32,
+               .dcache_bsize           = 32,
+       },
+       { /* 440SP Rev. A */
+               .pvr_mask               = 0xff000fff,
+               .pvr_value              = 0x53000891,
+               .cpu_name               = "440SP Rev. A",
+               .cpu_features           = CPU_FTRS_44X,
+               .cpu_user_features      = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU,
+               .icache_bsize           = 32,
+               .dcache_bsize           = 32,
+       },
+#endif /* CONFIG_44x */
+#ifdef CONFIG_FSL_BOOKE
+       {       /* e200z5 */
+               .pvr_mask               = 0xfff00000,
+               .pvr_value              = 0x81000000,
+               .cpu_name               = "e200z5",
+               /* xxx - galak: add CPU_FTR_MAYBE_CAN_DOZE */
+               .cpu_features           = CPU_FTRS_E200,
+               .cpu_user_features      = PPC_FEATURE_32 |
+                       PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_EFP_SINGLE |
+                       PPC_FEATURE_UNIFIED_CACHE,
+               .dcache_bsize           = 32,
+       },
+       {       /* e200z6 */
+               .pvr_mask               = 0xfff00000,
+               .pvr_value              = 0x81100000,
+               .cpu_name               = "e200z6",
+               /* xxx - galak: add CPU_FTR_MAYBE_CAN_DOZE */
+               .cpu_features           = CPU_FTRS_E200,
+               .cpu_user_features      = PPC_FEATURE_32 |
+                       PPC_FEATURE_HAS_MMU | PPC_FEATURE_SPE_COMP |
+                       PPC_FEATURE_HAS_EFP_SINGLE |
+                       PPC_FEATURE_UNIFIED_CACHE,
+               .dcache_bsize           = 32,
+       },
+       {       /* e500 */
+               .pvr_mask               = 0xffff0000,
+               .pvr_value              = 0x80200000,
+               .cpu_name               = "e500",
+               /* xxx - galak: add CPU_FTR_MAYBE_CAN_DOZE */
+               .cpu_features           = CPU_FTRS_E500,
+               .cpu_user_features      = PPC_FEATURE_32 |
+                       PPC_FEATURE_HAS_MMU | PPC_FEATURE_SPE_COMP |
+                       PPC_FEATURE_HAS_EFP_SINGLE,
+               .icache_bsize           = 32,
+               .dcache_bsize           = 32,
+               .num_pmcs               = 4,
+       },
+       {       /* e500v2 */
+               .pvr_mask               = 0xffff0000,
+               .pvr_value              = 0x80210000,
+               .cpu_name               = "e500v2",
+               /* xxx - galak: add CPU_FTR_MAYBE_CAN_DOZE */
+               .cpu_features           = CPU_FTRS_E500_2,
+               .cpu_user_features      = PPC_FEATURE_32 |
+                       PPC_FEATURE_HAS_MMU | PPC_FEATURE_SPE_COMP |
+                       PPC_FEATURE_HAS_EFP_SINGLE | PPC_FEATURE_HAS_EFP_DOUBLE,
+               .icache_bsize           = 32,
+               .dcache_bsize           = 32,
+               .num_pmcs               = 4,
+       },
+#endif
+#if !CLASSIC_PPC
+       {       /* default match */
+               .pvr_mask               = 0x00000000,
+               .pvr_value              = 0x00000000,
+               .cpu_name               = "(generic PPC)",
+               .cpu_features           = CPU_FTRS_GENERIC_32,
+               .cpu_user_features      = PPC_FEATURE_32,
+               .icache_bsize           = 32,
+               .dcache_bsize           = 32,
+       }
+#endif /* !CLASSIC_PPC */
+#endif /* CONFIG_PPC32 */
+};
index 59b6b62d112015e5f37579a7e4101b944bacce7c..0cba463adf9a8f2e5e07d7b77583d786783b53b3 100644 (file)
@@ -15,7 +15,7 @@ extra-y                               += vmlinux.lds
 obj-y                          := entry.o traps.o irq.o idle.o time.o misc.o \
                                        process.o signal.o ptrace.o align.o \
                                        syscalls.o setup.o \
-                                       cputable.o ppc_htab.o perfmon.o
+                                       ppc_htab.o perfmon.o
 obj-$(CONFIG_6xx)              += l2cr.o cpu_setup_6xx.o
 obj-$(CONFIG_SOFTWARE_SUSPEND) += swsusp.o
 obj-$(CONFIG_POWER4)           += cpu_setup_power4.o
@@ -39,7 +39,7 @@ endif
 else
 obj-y                          := irq.o idle.o time.o \
                                        signal.o ptrace.o align.o \
-                                       syscalls.o cputable.o perfmon.o
+                                       syscalls.o perfmon.o
 obj-$(CONFIG_6xx)              += l2cr.o cpu_setup_6xx.o
 obj-$(CONFIG_SOFTWARE_SUSPEND) += swsusp.o
 obj-$(CONFIG_MODULES)          += module.o
diff --git a/arch/ppc/kernel/cputable.c b/arch/ppc/kernel/cputable.c
deleted file mode 100644 (file)
index 207d4dd..0000000
+++ /dev/null
@@ -1,806 +0,0 @@
-/*
- *  arch/ppc/kernel/cputable.c
- *
- *  Copyright (C) 2001 Ben. Herrenschmidt (benh@kernel.crashing.org)
- *
- *  This program is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU General Public License
- *  as published by the Free Software Foundation; either version
- *  2 of the License, or (at your option) any later version.
- */
-
-#include <linux/config.h>
-#include <linux/string.h>
-#include <linux/sched.h>
-#include <linux/threads.h>
-#include <linux/init.h>
-#include <linux/module.h>
-
-#include <asm/oprofile_impl.h>
-#include <asm/cputable.h>
-
-struct cpu_spec* cur_cpu_spec = NULL;
-
-extern void __setup_cpu_603(unsigned long offset, struct cpu_spec* spec);
-extern void __setup_cpu_604(unsigned long offset, struct cpu_spec* spec);
-extern void __setup_cpu_750(unsigned long offset, struct cpu_spec* spec);
-extern void __setup_cpu_750cx(unsigned long offset, struct cpu_spec* spec);
-extern void __setup_cpu_750fx(unsigned long offset, struct cpu_spec* spec);
-extern void __setup_cpu_7400(unsigned long offset, struct cpu_spec* spec);
-extern void __setup_cpu_7410(unsigned long offset, struct cpu_spec* spec);
-extern void __setup_cpu_745x(unsigned long offset, struct cpu_spec* spec);
-extern void __setup_cpu_ppc970(unsigned long offset, struct cpu_spec* spec);
-
-#define CLASSIC_PPC (!defined(CONFIG_8xx) && !defined(CONFIG_4xx) && \
-                    !defined(CONFIG_POWER3) && !defined(CONFIG_POWER4) && \
-                    !defined(CONFIG_BOOKE))
-
-/* This table only contains "desktop" CPUs, it need to be filled with embedded
- * ones as well...
- */
-#define COMMON_PPC     (PPC_FEATURE_32 | PPC_FEATURE_HAS_FPU | \
-                        PPC_FEATURE_HAS_MMU)
-
-/* We only set the spe features if the kernel was compiled with
- * spe support
- */
-#ifdef CONFIG_SPE
-#define PPC_FEATURE_SPE_COMP           PPC_FEATURE_HAS_SPE
-#else
-#define PPC_FEATURE_SPE_COMP           0
-#endif
-
-struct cpu_spec        cpu_specs[] = {
-#if CLASSIC_PPC
-       {       /* 601 */
-               .pvr_mask               = 0xffff0000,
-               .pvr_value              = 0x00010000,
-               .cpu_name               = "601",
-               .cpu_features           = CPU_FTRS_PPC601,
-               .cpu_user_features      = COMMON_PPC | PPC_FEATURE_601_INSTR |
-                       PPC_FEATURE_UNIFIED_CACHE,
-               .icache_bsize           = 32,
-               .dcache_bsize           = 32,
-       },
-       {       /* 603 */
-               .pvr_mask               = 0xffff0000,
-               .pvr_value              = 0x00030000,
-               .cpu_name               = "603",
-               .cpu_features           = CPU_FTRS_603,
-               .cpu_user_features      = COMMON_PPC,
-               .icache_bsize           = 32,
-               .dcache_bsize           = 32,
-               .cpu_setup              = __setup_cpu_603
-       },
-       {       /* 603e */
-               .pvr_mask               = 0xffff0000,
-               .pvr_value              = 0x00060000,
-               .cpu_name               = "603e",
-               .cpu_features           = CPU_FTRS_603,
-               .cpu_user_features      = COMMON_PPC,
-               .icache_bsize           = 32,
-               .dcache_bsize           = 32,
-               .cpu_setup              = __setup_cpu_603
-       },
-       {       /* 603ev */
-               .pvr_mask               = 0xffff0000,
-               .pvr_value              = 0x00070000,
-               .cpu_name               = "603ev",
-               .cpu_features           = CPU_FTRS_603,
-               .cpu_user_features      = COMMON_PPC,
-               .icache_bsize           = 32,
-               .dcache_bsize           = 32,
-               .cpu_setup              = __setup_cpu_603
-       },
-       {       /* 604 */
-               .pvr_mask               = 0xffff0000,
-               .pvr_value              = 0x00040000,
-               .cpu_name               = "604",
-               .cpu_features           = CPU_FTRS_604,
-               .cpu_user_features      = COMMON_PPC,
-               .icache_bsize           = 32,
-               .dcache_bsize           = 32,
-               .num_pmcs               = 2,
-               .cpu_setup              = __setup_cpu_604
-       },
-       {       /* 604e */
-               .pvr_mask               = 0xfffff000,
-               .pvr_value              = 0x00090000,
-               .cpu_name               = "604e",
-               .cpu_features           = CPU_FTRS_604,
-               .cpu_user_features      = COMMON_PPC,
-               .icache_bsize           = 32,
-               .dcache_bsize           = 32,
-               .num_pmcs               = 4,
-               .cpu_setup              = __setup_cpu_604
-       },
-       {       /* 604r */
-               .pvr_mask               = 0xffff0000,
-               .pvr_value              = 0x00090000,
-               .cpu_name               = "604r",
-               .cpu_features           = CPU_FTRS_604,
-               .cpu_user_features      = COMMON_PPC,
-               .icache_bsize           = 32,
-               .dcache_bsize           = 32,
-               .num_pmcs               = 4,
-               .cpu_setup              = __setup_cpu_604
-       },
-       {       /* 604ev */
-               .pvr_mask               = 0xffff0000,
-               .pvr_value              = 0x000a0000,
-               .cpu_name               = "604ev",
-               .cpu_features           = CPU_FTRS_604,
-               .cpu_user_features      = COMMON_PPC,
-               .icache_bsize           = 32,
-               .dcache_bsize           = 32,
-               .num_pmcs               = 4,
-               .cpu_setup              = __setup_cpu_604
-       },
-       {       /* 740/750 (0x4202, don't support TAU ?) */
-               .pvr_mask               = 0xffffffff,
-               .pvr_value              = 0x00084202,
-               .cpu_name               = "740/750",
-               .cpu_features           = CPU_FTRS_740_NOTAU,
-               .cpu_user_features      = COMMON_PPC,
-               .icache_bsize           = 32,
-               .dcache_bsize           = 32,
-               .num_pmcs               = 4,
-               .cpu_setup              = __setup_cpu_750
-       },
-       {       /* 750CX (80100 and 8010x?) */
-               .pvr_mask               = 0xfffffff0,
-               .pvr_value              = 0x00080100,
-               .cpu_name               = "750CX",
-               .cpu_features           = CPU_FTRS_750,
-               .cpu_user_features      = COMMON_PPC,
-               .icache_bsize           = 32,
-               .dcache_bsize           = 32,
-               .num_pmcs               = 4,
-               .cpu_setup              = __setup_cpu_750cx
-       },
-       {       /* 750CX (82201 and 82202) */
-               .pvr_mask               = 0xfffffff0,
-               .pvr_value              = 0x00082200,
-               .cpu_name               = "750CX",
-               .cpu_features           = CPU_FTRS_750,
-               .cpu_user_features      = COMMON_PPC,
-               .icache_bsize           = 32,
-               .dcache_bsize           = 32,
-               .num_pmcs               = 4,
-               .cpu_setup              = __setup_cpu_750cx
-       },
-       {       /* 750CXe (82214) */
-               .pvr_mask               = 0xfffffff0,
-               .pvr_value              = 0x00082210,
-               .cpu_name               = "750CXe",
-               .cpu_features           = CPU_FTRS_750,
-               .cpu_user_features      = COMMON_PPC,
-               .icache_bsize           = 32,
-               .dcache_bsize           = 32,
-               .num_pmcs               = 4,
-               .cpu_setup              = __setup_cpu_750cx
-       },
-       {       /* 750CXe "Gekko" (83214) */
-               .pvr_mask               = 0xffffffff,
-               .pvr_value              = 0x00083214,
-               .cpu_name               = "750CXe",
-               .cpu_features           = CPU_FTRS_750,
-               .cpu_user_features      = COMMON_PPC,
-               .icache_bsize           = 32,
-               .dcache_bsize           = 32,
-               .num_pmcs               = 4,
-               .cpu_setup              = __setup_cpu_750cx
-       },
-       {       /* 745/755 */
-               .pvr_mask               = 0xfffff000,
-               .pvr_value              = 0x00083000,
-               .cpu_name               = "745/755",
-               .cpu_features           = CPU_FTRS_750,
-               .cpu_user_features      = COMMON_PPC,
-               .icache_bsize           = 32,
-               .dcache_bsize           = 32,
-               .num_pmcs               = 4,
-               .cpu_setup              = __setup_cpu_750
-       },
-       {       /* 750FX rev 1.x */
-               .pvr_mask               = 0xffffff00,
-               .pvr_value              = 0x70000100,
-               .cpu_name               = "750FX",
-               .cpu_features           = CPU_FTRS_750FX1,
-               .cpu_user_features      = COMMON_PPC,
-               .icache_bsize           = 32,
-               .dcache_bsize           = 32,
-               .num_pmcs               = 4,
-               .cpu_setup              = __setup_cpu_750
-       },
-       {       /* 750FX rev 2.0 must disable HID0[DPM] */
-               .pvr_mask               = 0xffffffff,
-               .pvr_value              = 0x70000200,
-               .cpu_name               = "750FX",
-               .cpu_features           = CPU_FTRS_750FX2,
-               .cpu_user_features      = COMMON_PPC,
-               .icache_bsize           = 32,
-               .dcache_bsize           = 32,
-               .num_pmcs               = 4,
-               .cpu_setup              = __setup_cpu_750
-       },
-       {       /* 750FX (All revs except 2.0) */
-               .pvr_mask               = 0xffff0000,
-               .pvr_value              = 0x70000000,
-               .cpu_name               = "750FX",
-               .cpu_features           = CPU_FTRS_750FX,
-               .cpu_user_features      = COMMON_PPC,
-               .icache_bsize           = 32,
-               .dcache_bsize           = 32,
-               .num_pmcs               = 4,
-               .cpu_setup              = __setup_cpu_750fx
-       },
-       {       /* 750GX */
-               .pvr_mask               = 0xffff0000,
-               .pvr_value              = 0x70020000,
-               .cpu_name               = "750GX",
-               .cpu_features           = CPU_FTRS_750GX,
-               .cpu_user_features      = COMMON_PPC,
-               .icache_bsize           = 32,
-               .dcache_bsize           = 32,
-               .num_pmcs               = 4,
-               .cpu_setup              = __setup_cpu_750fx
-       },
-       {       /* 740/750 (L2CR bit need fixup for 740) */
-               .pvr_mask               = 0xffff0000,
-               .pvr_value              = 0x00080000,
-               .cpu_name               = "740/750",
-               .cpu_features           = CPU_FTRS_740,
-               .cpu_user_features      = COMMON_PPC,
-               .icache_bsize           = 32,
-               .dcache_bsize           = 32,
-               .num_pmcs               = 4,
-               .cpu_setup              = __setup_cpu_750
-       },
-       {       /* 7400 rev 1.1 ? (no TAU) */
-               .pvr_mask               = 0xffffffff,
-               .pvr_value              = 0x000c1101,
-               .cpu_name               = "7400 (1.1)",
-               .cpu_features           = CPU_FTRS_7400_NOTAU,
-               .cpu_user_features      = COMMON_PPC | PPC_FEATURE_HAS_ALTIVEC_COMP,
-               .icache_bsize           = 32,
-               .dcache_bsize           = 32,
-               .num_pmcs               = 4,
-               .cpu_setup              = __setup_cpu_7400
-       },
-       {       /* 7400 */
-               .pvr_mask               = 0xffff0000,
-               .pvr_value              = 0x000c0000,
-               .cpu_name               = "7400",
-               .cpu_features           = CPU_FTRS_7400,
-               .cpu_user_features      = COMMON_PPC | PPC_FEATURE_HAS_ALTIVEC_COMP,
-               .icache_bsize           = 32,
-               .dcache_bsize           = 32,
-               .num_pmcs               = 4,
-               .cpu_setup              = __setup_cpu_7400
-       },
-       {       /* 7410 */
-               .pvr_mask               = 0xffff0000,
-               .pvr_value              = 0x800c0000,
-               .cpu_name               = "7410",
-               .cpu_features           = CPU_FTRS_7400,
-               .cpu_user_features      = COMMON_PPC | PPC_FEATURE_HAS_ALTIVEC_COMP,
-               .icache_bsize           = 32,
-               .dcache_bsize           = 32,
-               .num_pmcs               = 4,
-               .cpu_setup              = __setup_cpu_7410
-       },
-       {       /* 7450 2.0 - no doze/nap */
-               .pvr_mask               = 0xffffffff,
-               .pvr_value              = 0x80000200,
-               .cpu_name               = "7450",
-               .cpu_features           = CPU_FTRS_7450_20,
-               .cpu_user_features      = COMMON_PPC | PPC_FEATURE_HAS_ALTIVEC_COMP,
-               .icache_bsize           = 32,
-               .dcache_bsize           = 32,
-               .num_pmcs               = 6,
-               .cpu_setup              = __setup_cpu_745x
-       },
-       {       /* 7450 2.1 */
-               .pvr_mask               = 0xffffffff,
-               .pvr_value              = 0x80000201,
-               .cpu_name               = "7450",
-               .cpu_features           = CPU_FTRS_7450_21,
-               .cpu_user_features      = COMMON_PPC | PPC_FEATURE_HAS_ALTIVEC_COMP,
-               .icache_bsize           = 32,
-               .dcache_bsize           = 32,
-               .num_pmcs               = 6,
-               .cpu_setup              = __setup_cpu_745x
-       },
-       {       /* 7450 2.3 and newer */
-               .pvr_mask               = 0xffff0000,
-               .pvr_value              = 0x80000000,
-               .cpu_name               = "7450",
-               .cpu_features           = CPU_FTRS_7450_23,
-               .cpu_user_features      = COMMON_PPC | PPC_FEATURE_HAS_ALTIVEC_COMP,
-               .icache_bsize           = 32,
-               .dcache_bsize           = 32,
-               .num_pmcs               = 6,
-               .cpu_setup              = __setup_cpu_745x
-       },
-       {       /* 7455 rev 1.x */
-               .pvr_mask               = 0xffffff00,
-               .pvr_value              = 0x80010100,
-               .cpu_name               = "7455",
-               .cpu_features           = CPU_FTRS_7455_1,
-               .cpu_user_features      = COMMON_PPC | PPC_FEATURE_HAS_ALTIVEC_COMP,
-               .icache_bsize           = 32,
-               .dcache_bsize           = 32,
-               .num_pmcs               = 6,
-               .cpu_setup              = __setup_cpu_745x
-       },
-       {       /* 7455 rev 2.0 */
-               .pvr_mask               = 0xffffffff,
-               .pvr_value              = 0x80010200,
-               .cpu_name               = "7455",
-               .cpu_features           = CPU_FTRS_7455_20,
-               .cpu_user_features      = COMMON_PPC | PPC_FEATURE_HAS_ALTIVEC_COMP,
-               .icache_bsize           = 32,
-               .dcache_bsize           = 32,
-               .num_pmcs               = 6,
-               .cpu_setup              = __setup_cpu_745x
-       },
-       {       /* 7455 others */
-               .pvr_mask               = 0xffff0000,
-               .pvr_value              = 0x80010000,
-               .cpu_name               = "7455",
-               .cpu_features           = CPU_FTRS_7455,
-               .cpu_user_features      = COMMON_PPC | PPC_FEATURE_HAS_ALTIVEC_COMP,
-               .icache_bsize           = 32,
-               .dcache_bsize           = 32,
-               .num_pmcs               = 6,
-               .cpu_setup              = __setup_cpu_745x
-       },
-       {       /* 7447/7457 Rev 1.0 */
-               .pvr_mask               = 0xffffffff,
-               .pvr_value              = 0x80020100,
-               .cpu_name               = "7447/7457",
-               .cpu_features           = CPU_FTRS_7447_10,
-               .cpu_user_features      = COMMON_PPC | PPC_FEATURE_HAS_ALTIVEC_COMP,
-               .icache_bsize           = 32,
-               .dcache_bsize           = 32,
-               .num_pmcs               = 6,
-               .cpu_setup              = __setup_cpu_745x
-       },
-       {       /* 7447/7457 Rev 1.1 */
-               .pvr_mask               = 0xffffffff,
-               .pvr_value              = 0x80020101,
-               .cpu_name               = "7447/7457",
-               .cpu_features           = CPU_FTRS_7447_10,
-               .cpu_user_features      = COMMON_PPC | PPC_FEATURE_HAS_ALTIVEC_COMP,
-               .icache_bsize           = 32,
-               .dcache_bsize           = 32,
-               .num_pmcs               = 6,
-               .cpu_setup              = __setup_cpu_745x
-       },
-       {       /* 7447/7457 Rev 1.2 and later */
-               .pvr_mask               = 0xffff0000,
-               .pvr_value              = 0x80020000,
-               .cpu_name               = "7447/7457",
-               .cpu_features           = CPU_FTRS_7447,
-               .cpu_user_features      = COMMON_PPC | PPC_FEATURE_HAS_ALTIVEC_COMP,
-               .icache_bsize           = 32,
-               .dcache_bsize           = 32,
-               .num_pmcs               = 6,
-               .cpu_setup              = __setup_cpu_745x
-       },
-       {       /* 7447A */
-               .pvr_mask               = 0xffff0000,
-               .pvr_value              = 0x80030000,
-               .cpu_name               = "7447A",
-               .cpu_features           = CPU_FTRS_7447A,
-               .cpu_user_features      = COMMON_PPC | PPC_FEATURE_HAS_ALTIVEC_COMP,
-               .icache_bsize           = 32,
-               .dcache_bsize           = 32,
-               .num_pmcs               = 6,
-               .cpu_setup              = __setup_cpu_745x
-       },
-       {       /* 7448 */
-               .pvr_mask               = 0xffff0000,
-               .pvr_value              = 0x80040000,
-               .cpu_name               = "7448",
-               .cpu_features           = CPU_FTRS_7447A,
-               .cpu_user_features      = COMMON_PPC | PPC_FEATURE_HAS_ALTIVEC_COMP,
-               .icache_bsize           = 32,
-               .dcache_bsize           = 32,
-               .num_pmcs               = 6,
-               .cpu_setup              = __setup_cpu_745x
-       },
-       {       /* 82xx (8240, 8245, 8260 are all 603e cores) */
-               .pvr_mask               = 0x7fff0000,
-               .pvr_value              = 0x00810000,
-               .cpu_name               = "82xx",
-               .cpu_features           = CPU_FTRS_82XX,
-               .cpu_user_features      = COMMON_PPC,
-               .icache_bsize           = 32,
-               .dcache_bsize           = 32,
-               .cpu_setup              = __setup_cpu_603
-       },
-       {       /* All G2_LE (603e core, plus some) have the same pvr */
-               .pvr_mask               = 0x7fff0000,
-               .pvr_value              = 0x00820000,
-               .cpu_name               = "G2_LE",
-               .cpu_features           = CPU_FTRS_G2_LE,
-               .cpu_user_features      = COMMON_PPC,
-               .icache_bsize           = 32,
-               .dcache_bsize           = 32,
-               .cpu_setup              = __setup_cpu_603
-       },
-       {       /* e300 (a 603e core, plus some) on 83xx */
-               .pvr_mask               = 0x7fff0000,
-               .pvr_value              = 0x00830000,
-               .cpu_name               = "e300",
-               .cpu_features           = CPU_FTRS_E300,
-               .cpu_user_features      = COMMON_PPC,
-               .icache_bsize           = 32,
-               .dcache_bsize           = 32,
-               .cpu_setup              = __setup_cpu_603
-       },
-       {       /* default match, we assume split I/D cache & TB (non-601)... */
-               .pvr_mask               = 0x00000000,
-               .pvr_value              = 0x00000000,
-               .cpu_name               = "(generic PPC)",
-               .cpu_features           = CPU_FTRS_CLASSIC32,
-               .cpu_user_features      = COMMON_PPC,
-               .icache_bsize           = 32,
-               .dcache_bsize           = 32,
-       },
-#endif /* CLASSIC_PPC */
-#ifdef CONFIG_PPC64BRIDGE
-       {       /* Power3 */
-               .pvr_mask               = 0xffff0000,
-               .pvr_value              = 0x00400000,
-               .cpu_name               = "Power3 (630)",
-               .cpu_features           = CPU_FTRS_POWER3_32,
-               .cpu_user_features      = COMMON_PPC | PPC_FEATURE_64,
-               .icache_bsize           = 128,
-               .dcache_bsize           = 128,
-               .num_pmcs               = 8,
-       },
-       {       /* Power3+ */
-               .pvr_mask               = 0xffff0000,
-               .pvr_value              = 0x00410000,
-               .cpu_name               = "Power3 (630+)",
-               .cpu_features           = CPU_FTRS_POWER3_32,
-               .cpu_user_features      = COMMON_PPC | PPC_FEATURE_64,
-               .icache_bsize           = 128,
-               .dcache_bsize           = 128,
-               .num_pmcs               = 8,
-       },
-       {       /* I-star */
-               .pvr_mask               = 0xffff0000,
-               .pvr_value              = 0x00360000,
-               .cpu_name               = "I-star",
-               .cpu_features           = CPU_FTRS_POWER3_32,
-               .cpu_user_features      = COMMON_PPC | PPC_FEATURE_64,
-               .icache_bsize           = 128,
-               .dcache_bsize           = 128,
-               .num_pmcs               = 8,
-       },
-       {       /* S-star */
-               .pvr_mask               = 0xffff0000,
-               .pvr_value              = 0x00370000,
-               .cpu_name               = "S-star",
-               .cpu_features           = CPU_FTRS_POWER3_32,
-               .cpu_user_features      = COMMON_PPC | PPC_FEATURE_64,
-               .icache_bsize           = 128,
-               .dcache_bsize           = 128,
-               .num_pmcs               = 8,
-       },
-#endif /* CONFIG_PPC64BRIDGE */
-#ifdef CONFIG_POWER4
-       {       /* PPC970FX */
-               .pvr_mask               = 0xffff0000,
-               .pvr_value              = 0x003c0000,
-               .cpu_name               = "PPC970FX",
-               .cpu_features           = CPU_FTRS_970_32,
-               .cpu_user_features      = COMMON_PPC | PPC_FEATURE_64 | PPC_FEATURE_HAS_ALTIVEC_COMP,
-               .icache_bsize           = 128,
-               .dcache_bsize           = 128,
-               .num_pmcs               = 8,
-               .cpu_setup              = __setup_cpu_ppc970
-       },
-#endif /* CONFIG_POWER4 */
-#ifdef CONFIG_8xx
-       {       /* 8xx */
-               .pvr_mask               = 0xffff0000,
-               .pvr_value              = 0x00500000,
-               .cpu_name               = "8xx",
-               /* CPU_FTR_MAYBE_CAN_DOZE is possible,
-                * if the 8xx code is there.... */
-               .cpu_features           = CPU_FTRS_8XX,
-               .cpu_user_features      = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU,
-               .icache_bsize           = 16,
-               .dcache_bsize           = 16,
-       },
-#endif /* CONFIG_8xx */
-#ifdef CONFIG_40x
-       {       /* 403GC */
-               .pvr_mask               = 0xffffff00,
-               .pvr_value              = 0x00200200,
-               .cpu_name               = "403GC",
-               .cpu_features           = CPU_FTRS_40X,
-               .cpu_user_features      = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU,
-               .icache_bsize           = 16,
-               .dcache_bsize           = 16,
-       },
-       {       /* 403GCX */
-               .pvr_mask               = 0xffffff00,
-               .pvr_value              = 0x00201400,
-               .cpu_name               = "403GCX",
-               .cpu_features           = CPU_FTRS_40X,
-               .cpu_user_features      = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU,
-               .icache_bsize           = 16,
-               .dcache_bsize           = 16,
-       },
-       {       /* 403G ?? */
-               .pvr_mask               = 0xffff0000,
-               .pvr_value              = 0x00200000,
-               .cpu_name               = "403G ??",
-               .cpu_features           = CPU_FTRS_40X,
-               .cpu_user_features      = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU,
-               .icache_bsize           = 16,
-               .dcache_bsize           = 16,
-       },
-       {       /* 405GP */
-               .pvr_mask               = 0xffff0000,
-               .pvr_value              = 0x40110000,
-               .cpu_name               = "405GP",
-               .cpu_features           = CPU_FTRS_40X,
-               .cpu_user_features      = PPC_FEATURE_32 |
-                       PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
-               .icache_bsize           = 32,
-               .dcache_bsize           = 32,
-       },
-       {       /* STB 03xxx */
-               .pvr_mask               = 0xffff0000,
-               .pvr_value              = 0x40130000,
-               .cpu_name               = "STB03xxx",
-               .cpu_features           = CPU_FTRS_40X,
-               .cpu_user_features      = PPC_FEATURE_32 |
-                       PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
-               .icache_bsize           = 32,
-               .dcache_bsize           = 32,
-       },
-       {       /* STB 04xxx */
-               .pvr_mask               = 0xffff0000,
-               .pvr_value              = 0x41810000,
-               .cpu_name               = "STB04xxx",
-               .cpu_features           = CPU_FTRS_40X,
-               .cpu_user_features      = PPC_FEATURE_32 |
-                       PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
-               .icache_bsize           = 32,
-               .dcache_bsize           = 32,
-       },
-       {       /* NP405L */
-               .pvr_mask               = 0xffff0000,
-               .pvr_value              = 0x41610000,
-               .cpu_name               = "NP405L",
-               .cpu_features           = CPU_FTRS_40X,
-               .cpu_user_features      = PPC_FEATURE_32 |
-                       PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
-               .icache_bsize           = 32,
-               .dcache_bsize           = 32,
-       },
-       {       /* NP4GS3 */
-               .pvr_mask               = 0xffff0000,
-               .pvr_value              = 0x40B10000,
-               .cpu_name               = "NP4GS3",
-               .cpu_features           = CPU_FTRS_40X,
-               .cpu_user_features      = PPC_FEATURE_32 |
-                       PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
-               .icache_bsize           = 32,
-               .dcache_bsize           = 32,
-       },
-       {   /* NP405H */
-               .pvr_mask               = 0xffff0000,
-               .pvr_value              = 0x41410000,
-               .cpu_name               = "NP405H",
-               .cpu_features           = CPU_FTRS_40X,
-               .cpu_user_features      = PPC_FEATURE_32 |
-                       PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
-               .icache_bsize           = 32,
-               .dcache_bsize           = 32,
-       },
-       {       /* 405GPr */
-               .pvr_mask               = 0xffff0000,
-               .pvr_value              = 0x50910000,
-               .cpu_name               = "405GPr",
-               .cpu_features           = CPU_FTRS_40X,
-               .cpu_user_features      = PPC_FEATURE_32 |
-                       PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
-               .icache_bsize           = 32,
-               .dcache_bsize           = 32,
-       },
-       {   /* STBx25xx */
-               .pvr_mask               = 0xffff0000,
-               .pvr_value              = 0x51510000,
-               .cpu_name               = "STBx25xx",
-               .cpu_features           = CPU_FTRS_40X,
-               .cpu_user_features      = PPC_FEATURE_32 |
-                       PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
-               .icache_bsize           = 32,
-               .dcache_bsize           = 32,
-       },
-       {       /* 405LP */
-               .pvr_mask               = 0xffff0000,
-               .pvr_value              = 0x41F10000,
-               .cpu_name               = "405LP",
-               .cpu_features           = CPU_FTRS_40X,
-               .cpu_user_features      = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU,
-               .icache_bsize           = 32,
-               .dcache_bsize           = 32,
-       },
-       {       /* Xilinx Virtex-II Pro  */
-               .pvr_mask               = 0xffff0000,
-               .pvr_value              = 0x20010000,
-               .cpu_name               = "Virtex-II Pro",
-               .cpu_features           = CPU_FTRS_40X,
-               .cpu_user_features      = PPC_FEATURE_32 |
-                       PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
-               .icache_bsize           = 32,
-               .dcache_bsize           = 32,
-       },
-       {       /* 405EP */
-               .pvr_mask               = 0xffff0000,
-               .pvr_value              = 0x51210000,
-               .cpu_name               = "405EP",
-               .cpu_features           = CPU_FTRS_40X,
-               .cpu_user_features      = PPC_FEATURE_32 |
-                       PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
-               .icache_bsize           = 32,
-               .dcache_bsize           = 32,
-       },
-
-#endif /* CONFIG_40x */
-#ifdef CONFIG_44x
-       {
-               .pvr_mask               = 0xf0000fff,
-               .pvr_value              = 0x40000850,
-               .cpu_name               = "440EP Rev. A",
-               .cpu_features           = CPU_FTRS_44X,
-               .cpu_user_features      = COMMON_PPC, /* 440EP has an FPU */
-               .icache_bsize           = 32,
-               .dcache_bsize           = 32,
-       },
-       {
-               .pvr_mask               = 0xf0000fff,
-               .pvr_value              = 0x400008d3,
-               .cpu_name               = "440EP Rev. B",
-               .cpu_features           = CPU_FTRS_44X,
-               .cpu_user_features      = COMMON_PPC, /* 440EP has an FPU */
-               .icache_bsize           = 32,
-               .dcache_bsize           = 32,
-       },
-       {       /* 440GP Rev. B */
-               .pvr_mask               = 0xf0000fff,
-               .pvr_value              = 0x40000440,
-               .cpu_name               = "440GP Rev. B",
-               .cpu_features           = CPU_FTRS_44X,
-               .cpu_user_features      = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU,
-               .icache_bsize           = 32,
-               .dcache_bsize           = 32,
-       },
-       {       /* 440GP Rev. C */
-               .pvr_mask               = 0xf0000fff,
-               .pvr_value              = 0x40000481,
-               .cpu_name               = "440GP Rev. C",
-               .cpu_features           = CPU_FTRS_44X,
-               .cpu_user_features      = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU,
-               .icache_bsize           = 32,
-               .dcache_bsize           = 32,
-       },
-       { /* 440GX Rev. A */
-               .pvr_mask               = 0xf0000fff,
-               .pvr_value              = 0x50000850,
-               .cpu_name               = "440GX Rev. A",
-               .cpu_features           = CPU_FTRS_44X,
-               .cpu_user_features      = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU,
-               .icache_bsize           = 32,
-               .dcache_bsize           = 32,
-       },
-       { /* 440GX Rev. B */
-               .pvr_mask               = 0xf0000fff,
-               .pvr_value              = 0x50000851,
-               .cpu_name               = "440GX Rev. B",
-               .cpu_features           = CPU_FTRS_44X,
-               .cpu_user_features      = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU,
-               .icache_bsize           = 32,
-               .dcache_bsize           = 32,
-       },
-       { /* 440GX Rev. C */
-               .pvr_mask               = 0xf0000fff,
-               .pvr_value              = 0x50000892,
-               .cpu_name               = "440GX Rev. C",
-               .cpu_features           = CPU_FTRS_44X,
-               .cpu_user_features      = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU,
-               .icache_bsize           = 32,
-               .dcache_bsize           = 32,
-       },
-       { /* 440GX Rev. F */
-               .pvr_mask               = 0xf0000fff,
-               .pvr_value              = 0x50000894,
-               .cpu_name               = "440GX Rev. F",
-               .cpu_features           = CPU_FTRS_44X,
-               .cpu_user_features      = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU,
-               .icache_bsize           = 32,
-               .dcache_bsize           = 32,
-       },
-       { /* 440SP Rev. A */
-               .pvr_mask               = 0xff000fff,
-               .pvr_value              = 0x53000891,
-               .cpu_name               = "440SP Rev. A",
-               .cpu_features           = CPU_FTRS_44X,
-               .cpu_user_features      = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU,
-               .icache_bsize           = 32,
-               .dcache_bsize           = 32,
-       },
-#endif /* CONFIG_44x */
-#ifdef CONFIG_FSL_BOOKE
-       {       /* e200z5 */
-               .pvr_mask               = 0xfff00000,
-               .pvr_value              = 0x81000000,
-               .cpu_name               = "e200z5",
-               /* xxx - galak: add CPU_FTR_MAYBE_CAN_DOZE */
-               .cpu_features           = CPU_FTRS_E200,
-               .cpu_user_features      = PPC_FEATURE_32 |
-                       PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_EFP_SINGLE |
-                       PPC_FEATURE_UNIFIED_CACHE,
-               .dcache_bsize           = 32,
-       },
-       {       /* e200z6 */
-               .pvr_mask               = 0xfff00000,
-               .pvr_value              = 0x81100000,
-               .cpu_name               = "e200z6",
-               /* xxx - galak: add CPU_FTR_MAYBE_CAN_DOZE */
-               .cpu_features           = CPU_FTRS_E200,
-               .cpu_user_features      = PPC_FEATURE_32 |
-                       PPC_FEATURE_HAS_MMU | PPC_FEATURE_SPE_COMP |
-                       PPC_FEATURE_HAS_EFP_SINGLE |
-                       PPC_FEATURE_UNIFIED_CACHE,
-               .dcache_bsize           = 32,
-       },
-       {       /* e500 */
-               .pvr_mask               = 0xffff0000,
-               .pvr_value              = 0x80200000,
-               .cpu_name               = "e500",
-               /* xxx - galak: add CPU_FTR_MAYBE_CAN_DOZE */
-               .cpu_features           = CPU_FTRS_E500,
-               .cpu_user_features      = PPC_FEATURE_32 |
-                       PPC_FEATURE_HAS_MMU | PPC_FEATURE_SPE_COMP |
-                       PPC_FEATURE_HAS_EFP_SINGLE,
-               .icache_bsize           = 32,
-               .dcache_bsize           = 32,
-               .num_pmcs               = 4,
-       },
-       {       /* e500v2 */
-               .pvr_mask               = 0xffff0000,
-               .pvr_value              = 0x80210000,
-               .cpu_name               = "e500v2",
-               /* xxx - galak: add CPU_FTR_MAYBE_CAN_DOZE */
-               .cpu_features           = CPU_FTRS_E500_2,
-               .cpu_user_features      = PPC_FEATURE_32 |
-                       PPC_FEATURE_HAS_MMU | PPC_FEATURE_SPE_COMP |
-                       PPC_FEATURE_HAS_EFP_SINGLE | PPC_FEATURE_HAS_EFP_DOUBLE,
-               .icache_bsize           = 32,
-               .dcache_bsize           = 32,
-               .num_pmcs               = 4,
-       },
-#endif
-#if !CLASSIC_PPC
-       {       /* default match */
-               .pvr_mask               = 0x00000000,
-               .pvr_value              = 0x00000000,
-               .cpu_name               = "(generic PPC)",
-               .cpu_features           = CPU_FTRS_GENERIC_32,
-               .cpu_user_features      = PPC_FEATURE_32,
-               .icache_bsize           = 32,
-               .dcache_bsize           = 32,
-       }
-#endif /* !CLASSIC_PPC */
-};
index 5569ea7e6830ddd105ef7270bba9cf9e42a965f6..834aef034b77bb8d5cf5938704fbcda43be96409 100644 (file)
@@ -7,13 +7,17 @@ ifneq ($(CONFIG_PPC_MERGE),y)
 EXTRA_CFLAGS   += -mno-minimal-toc
 extra-y                := head.o vmlinux.lds
 
-obj-y               := setup.o entry.o irq.o idle.o dma.o \
-                       time.o signal.o syscalls.o misc.o ptrace.o \
+obj-y               := setup.o entry.o misc.o prom.o
+
+endif
+
+obj-y               += irq.o idle.o dma.o \
+                       time.o signal.o syscalls.o ptrace.o \
                        align.o bitops.o pacaData.o \
                        udbg.o binfmt_elf32.o sys_ppc32.o ioctl32.o \
                        ptrace32.o signal32.o rtc.o \
-                       cputable.o cpu_setup_power4.o \
-                       iommu.o sysfs.o vdso.o pmc.o firmware.o prom.o
+                       cpu_setup_power4.o \
+                       iommu.o sysfs.o vdso.o pmc.o firmware.o
 obj-y += vdso32/ vdso64/
 
 obj-$(CONFIG_PPC_OF) +=        of_device.o
@@ -22,7 +26,10 @@ pci-obj-$(CONFIG_PPC_MULTIPLATFORM)  += pci_dn.o pci_direct_iommu.o
 
 obj-$(CONFIG_PCI)      += pci.o pci_iommu.o iomap.o $(pci-obj-y)
 
-obj-$(CONFIG_PPC_MULTIPLATFORM) += nvram.o i8259.o prom_init.o
+obj-$(CONFIG_PPC_MULTIPLATFORM) += nvram.o i8259.o
+ifneq ($(CONFIG_PPC_MERGE),y)
+obj-$(CONFIG_PPC_MULTIPLATFORM) += prom_init.o
+endif
 
 obj-$(CONFIG_PPC_PSERIES) += rtasd.o ras.o udbg_16550.o
 
@@ -34,22 +41,29 @@ obj-$(CONFIG_EEH)           += eeh.o
 obj-$(CONFIG_PROC_FS)          += proc_ppc64.o
 obj-$(CONFIG_RTAS_FLASH)       += rtas_flash.o
 obj-$(CONFIG_SMP)              += smp.o
-obj-$(CONFIG_MODULES)          += module.o ppc_ksyms.o
+obj-$(CONFIG_MODULES)          += module.o
+ifneq ($(CONFIG_PPC_MERGE),y)
+obj-$(CONFIG_MODULES)          += ppc_ksyms.o
+endif
 obj-$(CONFIG_PPC_RTAS)         += rtas.o rtas_pci.o
 obj-$(CONFIG_RTAS_PROC)                += rtas-proc.o
 obj-$(CONFIG_SCANLOG)          += scanlog.o
 obj-$(CONFIG_LPARCFG)          += lparcfg.o
 obj-$(CONFIG_HVC_CONSOLE)      += hvconsole.o
+ifneq ($(CONFIG_PPC_MERGE),y)
 obj-$(CONFIG_BOOTX_TEXT)       += btext.o
+endif
 obj-$(CONFIG_HVCS)             += hvcserver.o
 
-obj-$(CONFIG_IBMVIO)           += vio.o $(vio-obj-y)
+obj-$(CONFIG_IBMVIO)           += vio.o
 obj-$(CONFIG_XICS)             += xics.o
+ifneq ($(CONFIG_PPC_MERGE),y)
 obj-$(CONFIG_MPIC)             += mpic.o
 
 obj-$(CONFIG_PPC_PMAC)         += pmac_setup.o pmac_feature.o pmac_pci.o \
                                   pmac_time.o pmac_nvram.o pmac_low_i2c.o \
                                   udbg_scc.o
+endif
 
 obj-$(CONFIG_PPC_MAPLE)                += maple_setup.o maple_pci.o maple_time.o \
                                   udbg_16550.o
@@ -57,7 +71,9 @@ obj-$(CONFIG_PPC_MAPLE)               += maple_setup.o maple_pci.o maple_time.o \
 obj-$(CONFIG_U3_DART)          += u3_iommu.o
 
 ifdef CONFIG_SMP
+ifneq ($(CONFIG_PPC_MERGE),y)
 obj-$(CONFIG_PPC_PMAC)         += pmac_smp.o smp-tbsync.o
+endif
 obj-$(CONFIG_PPC_MAPLE)                += smp-tbsync.o
 endif
 
@@ -65,62 +81,9 @@ obj-$(CONFIG_KPROBES)                += kprobes.o
 
 CFLAGS_ioctl32.o += -Ifs/
 
+ifneq ($(CONFIG_PPC_MERGE),y)
 ifeq ($(CONFIG_PPC_ISERIES),y)
 arch/ppc64/kernel/head.o: arch/powerpc/kernel/lparmap.s
 AFLAGS_head.o += -Iarch/powerpc/kernel
 endif
-
-else
-
-# Things still needed from here by the merged ppc code
-
-obj-y               := irq.o idle.o dma.o \
-                       time.o signal.o syscalls.o ptrace.o \
-                       align.o bitops.o pacaData.o \
-                       udbg.o binfmt_elf32.o sys_ppc32.o ioctl32.o \
-                       ptrace32.o signal32.o rtc.o \
-                       cputable.o cpu_setup_power4.o \
-                       iommu.o sysfs.o vdso.o pmc.o firmware.o
-obj-y += vdso32/ vdso64/
-
-pci-obj-$(CONFIG_PPC_MULTIPLATFORM)    += pci_dn.o pci_direct_iommu.o
-
-obj-$(CONFIG_PCI)      += pci.o pci_iommu.o iomap.o $(pci-obj-y)
-
-obj-$(CONFIG_PPC_MULTIPLATFORM) += nvram.o i8259.o
-
-obj-$(CONFIG_PPC_PSERIES) += rtasd.o ras.o udbg_16550.o
-
-obj-$(CONFIG_PPC_BPA) += bpa_setup.o bpa_iommu.o bpa_nvram.o \
-                        bpa_iic.o spider-pic.o
-
-obj-$(CONFIG_KEXEC)            += machine_kexec.o
-obj-$(CONFIG_EEH)              += eeh.o
-obj-$(CONFIG_PROC_FS)          += proc_ppc64.o
-obj-$(CONFIG_RTAS_FLASH)       += rtas_flash.o
-obj-$(CONFIG_SMP)              += smp.o
-obj-$(CONFIG_MODULES)          += module.o
-obj-$(CONFIG_PPC_RTAS)         += rtas.o rtas_pci.o
-obj-$(CONFIG_RTAS_PROC)                += rtas-proc.o
-obj-$(CONFIG_SCANLOG)          += scanlog.o
-obj-$(CONFIG_LPARCFG)          += lparcfg.o
-obj-$(CONFIG_HVC_CONSOLE)      += hvconsole.o
-obj-$(CONFIG_HVCS)             += hvcserver.o
-
-obj-$(CONFIG_IBMVIO)           += vio.o
-obj-$(CONFIG_XICS)             += xics.o
-
-obj-$(CONFIG_PPC_MAPLE)                += maple_setup.o maple_pci.o maple_time.o \
-                                  udbg_16550.o
-
-obj-$(CONFIG_U3_DART)          += u3_iommu.o
-
-ifdef CONFIG_SMP
-obj-$(CONFIG_PPC_MAPLE)                += smp-tbsync.o
-endif
-
-obj-$(CONFIG_KPROBES)          += kprobes.o
-
-CFLAGS_ioctl32.o += -Ifs/
-
 endif
diff --git a/arch/ppc64/kernel/cputable.c b/arch/ppc64/kernel/cputable.c
deleted file mode 100644 (file)
index 5134c53..0000000
+++ /dev/null
@@ -1,260 +0,0 @@
-/*
- *  arch/ppc64/kernel/cputable.c
- *
- *  Copyright (C) 2001 Ben. Herrenschmidt (benh@kernel.crashing.org)
- *
- *  Modifications for ppc64:
- *      Copyright (C) 2003 Dave Engebretsen <engebret@us.ibm.com>
- *
- *  This program is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU General Public License
- *  as published by the Free Software Foundation; either version
- *  2 of the License, or (at your option) any later version.
- */
-
-#include <linux/config.h>
-#include <linux/string.h>
-#include <linux/sched.h>
-#include <linux/threads.h>
-#include <linux/init.h>
-#include <linux/module.h>
-
-#include <asm/oprofile_impl.h>
-#include <asm/cputable.h>
-
-struct cpu_spec* cur_cpu_spec = NULL;
-EXPORT_SYMBOL(cur_cpu_spec);
-
-/* NOTE:
- * Unlike ppc32, ppc64 will only call this once for the boot CPU, it's
- * the responsibility of the appropriate CPU save/restore functions to
- * eventually copy these settings over. Those save/restore aren't yet
- * part of the cputable though. That has to be fixed for both ppc32
- * and ppc64
- */
-extern void __setup_cpu_power3(unsigned long offset, struct cpu_spec* spec);
-extern void __setup_cpu_power4(unsigned long offset, struct cpu_spec* spec);
-extern void __setup_cpu_ppc970(unsigned long offset, struct cpu_spec* spec);
-extern void __setup_cpu_be(unsigned long offset, struct cpu_spec* spec);
-
-struct cpu_spec        cpu_specs[] = {
-       {       /* Power3 */
-               .pvr_mask               = 0xffff0000,
-               .pvr_value              = 0x00400000,
-               .cpu_name               = "POWER3 (630)",
-               .cpu_features           = CPU_FTRS_POWER3,
-               .cpu_user_features      = COMMON_USER_PPC64,
-               .icache_bsize           = 128,
-               .dcache_bsize           = 128,
-               .num_pmcs               = 8,
-               .cpu_setup              = __setup_cpu_power3,
-#ifdef CONFIG_OPROFILE
-               .oprofile_cpu_type      = "ppc64/power3",
-               .oprofile_model         = &op_model_rs64,
-#endif
-       },
-       {       /* Power3+ */
-               .pvr_mask               = 0xffff0000,
-               .pvr_value              = 0x00410000,
-               .cpu_name               = "POWER3 (630+)",
-               .cpu_features           = CPU_FTRS_POWER3,
-               .cpu_user_features      = COMMON_USER_PPC64,
-               .icache_bsize           = 128,
-               .dcache_bsize           = 128,
-               .num_pmcs               = 8,
-               .cpu_setup              = __setup_cpu_power3,
-#ifdef CONFIG_OPROFILE
-               .oprofile_cpu_type      = "ppc64/power3",
-               .oprofile_model         = &op_model_rs64,
-#endif
-       },
-       {       /* Northstar */
-               .pvr_mask               = 0xffff0000,
-               .pvr_value              = 0x00330000,
-               .cpu_name               = "RS64-II (northstar)",
-               .cpu_features           = CPU_FTRS_RS64,
-               .cpu_user_features      = COMMON_USER_PPC64,
-               .icache_bsize           = 128,
-               .dcache_bsize           = 128,
-               .num_pmcs               = 8,
-               .cpu_setup              = __setup_cpu_power3,
-#ifdef CONFIG_OPROFILE
-               .oprofile_cpu_type      = "ppc64/rs64",
-               .oprofile_model         = &op_model_rs64,
-#endif
-       },
-       {       /* Pulsar */
-               .pvr_mask               = 0xffff0000,
-               .pvr_value              = 0x00340000,
-               .cpu_name               = "RS64-III (pulsar)",
-               .cpu_features           = CPU_FTRS_RS64,
-               .cpu_user_features      = COMMON_USER_PPC64,
-               .icache_bsize           = 128,
-               .dcache_bsize           = 128,
-               .num_pmcs               = 8,
-               .cpu_setup              = __setup_cpu_power3,
-#ifdef CONFIG_OPROFILE
-               .oprofile_cpu_type      = "ppc64/rs64",
-               .oprofile_model         = &op_model_rs64,
-#endif
-       },
-       {       /* I-star */
-               .pvr_mask               = 0xffff0000,
-               .pvr_value              = 0x00360000,
-               .cpu_name               = "RS64-III (icestar)",
-               .cpu_features           = CPU_FTRS_RS64,
-               .cpu_user_features      = COMMON_USER_PPC64,
-               .icache_bsize           = 128,
-               .dcache_bsize           = 128,
-               .num_pmcs               = 8,
-               .cpu_setup              = __setup_cpu_power3,
-#ifdef CONFIG_OPROFILE
-               .oprofile_cpu_type      = "ppc64/rs64",
-               .oprofile_model         = &op_model_rs64,
-#endif
-       },
-       {       /* S-star */
-               .pvr_mask               = 0xffff0000,
-               .pvr_value              = 0x00370000,
-               .cpu_name               = "RS64-IV (sstar)",
-               .cpu_features           = CPU_FTRS_RS64,
-               .cpu_user_features      = COMMON_USER_PPC64,
-               .icache_bsize           = 128,
-               .dcache_bsize           = 128,
-               .num_pmcs               = 8,
-               .cpu_setup              = __setup_cpu_power3,
-#ifdef CONFIG_OPROFILE
-               .oprofile_cpu_type      = "ppc64/rs64",
-               .oprofile_model         = &op_model_rs64,
-#endif
-       },
-       {       /* Power4 */
-               .pvr_mask               = 0xffff0000,
-               .pvr_value              = 0x00350000,
-               .cpu_name               = "POWER4 (gp)",
-               .cpu_features           = CPU_FTRS_POWER4,
-               .cpu_user_features      = COMMON_USER_PPC64,
-               .icache_bsize           = 128,
-               .dcache_bsize           = 128,
-               .num_pmcs               = 8,
-               .cpu_setup              = __setup_cpu_power4,
-#ifdef CONFIG_OPROFILE
-               .oprofile_cpu_type      = "ppc64/power4",
-               .oprofile_model         = &op_model_rs64,
-#endif
-       },
-       {       /* Power4+ */
-               .pvr_mask               = 0xffff0000,
-               .pvr_value              = 0x00380000,
-               .cpu_name               = "POWER4+ (gq)",
-               .cpu_features           = CPU_FTRS_POWER4,
-               .cpu_user_features      = COMMON_USER_PPC64,
-               .icache_bsize           = 128,
-               .dcache_bsize           = 128,
-               .num_pmcs               = 8,
-               .cpu_setup              = __setup_cpu_power4,
-#ifdef CONFIG_OPROFILE
-               .oprofile_cpu_type      = "ppc64/power4",
-               .oprofile_model         = &op_model_power4,
-#endif
-       },
-       {       /* PPC970 */
-               .pvr_mask               = 0xffff0000,
-               .pvr_value              = 0x00390000,
-               .cpu_name               = "PPC970",
-               .cpu_features           = CPU_FTRS_PPC970,
-               .cpu_user_features      = COMMON_USER_PPC64 |
-                       PPC_FEATURE_HAS_ALTIVEC_COMP,
-               .icache_bsize           = 128,
-               .dcache_bsize           = 128,
-               .num_pmcs               = 8,
-               .cpu_setup              = __setup_cpu_ppc970,
-#ifdef CONFIG_OPROFILE
-               .oprofile_cpu_type      = "ppc64/970",
-               .oprofile_model         = &op_model_power4,
-#endif
-       },
-       {       /* PPC970FX */
-               .pvr_mask               = 0xffff0000,
-               .pvr_value              = 0x003c0000,
-               .cpu_name               = "PPC970FX",
-               .cpu_features           = CPU_FTRS_PPC970,
-               .cpu_user_features      = COMMON_USER_PPC64 |
-                       PPC_FEATURE_HAS_ALTIVEC_COMP,
-               .icache_bsize           = 128,
-               .dcache_bsize           = 128,
-               .num_pmcs               = 8,
-               .cpu_setup              = __setup_cpu_ppc970,
-#ifdef CONFIG_OPROFILE
-               .oprofile_cpu_type      = "ppc64/970",
-               .oprofile_model         = &op_model_power4,
-#endif
-       },
-       {       /* PPC970MP */
-               .pvr_mask               = 0xffff0000,
-               .pvr_value              = 0x00440000,
-               .cpu_name               = "PPC970MP",
-               .cpu_features           = CPU_FTRS_PPC970,
-               .cpu_user_features      = COMMON_USER_PPC64 |
-                       PPC_FEATURE_HAS_ALTIVEC_COMP,
-               .icache_bsize           = 128,
-               .dcache_bsize           = 128,
-               .cpu_setup              = __setup_cpu_ppc970,
-#ifdef CONFIG_OPROFILE
-               .oprofile_cpu_type      = "ppc64/970",
-               .oprofile_model         = &op_model_power4,
-#endif
-       },
-       {       /* Power5 */
-               .pvr_mask               = 0xffff0000,
-               .pvr_value              = 0x003a0000,
-               .cpu_name               = "POWER5 (gr)",
-               .cpu_features           = CPU_FTRS_POWER5,
-               .cpu_user_features      = COMMON_USER_PPC64,
-               .icache_bsize           = 128,
-               .dcache_bsize           = 128,
-               .num_pmcs               = 6,
-               .cpu_setup              = __setup_cpu_power4,
-#ifdef CONFIG_OPROFILE
-               .oprofile_cpu_type      = "ppc64/power5",
-               .oprofile_model         = &op_model_power4,
-#endif
-       },
-       {       /* Power5 */
-               .pvr_mask               = 0xffff0000,
-               .pvr_value              = 0x003b0000,
-               .cpu_name               = "POWER5 (gs)",
-               .cpu_features           = CPU_FTRS_POWER5,
-               .cpu_user_features      = COMMON_USER_PPC64,
-               .icache_bsize           = 128,
-               .dcache_bsize           = 128,
-               .num_pmcs               = 6,
-               .cpu_setup              = __setup_cpu_power4,
-#ifdef CONFIG_OPROFILE
-               .oprofile_cpu_type      = "ppc64/power5",
-               .oprofile_model         = &op_model_power4,
-#endif
-       },
-       {       /* BE DD1.x */
-               .pvr_mask               = 0xffff0000,
-               .pvr_value              = 0x00700000,
-               .cpu_name               = "Cell Broadband Engine",
-               .cpu_features           = CPU_FTRS_CELL,
-               .cpu_user_features      = COMMON_USER_PPC64 |
-                       PPC_FEATURE_HAS_ALTIVEC_COMP,
-               .icache_bsize           = 128,
-               .dcache_bsize           = 128,
-               .cpu_setup              = __setup_cpu_be,
-       },
-       {       /* default match */
-               .pvr_mask               = 0x00000000,
-               .pvr_value              = 0x00000000,
-               .cpu_name               = "POWER4 (compatible)",
-               .cpu_features           = CPU_FTRS_COMPATIBLE,
-               .cpu_user_features      = COMMON_USER_PPC64,
-               .icache_bsize           = 128,
-               .dcache_bsize           = 128,
-               .num_pmcs               = 6,
-               .cpu_setup              = __setup_cpu_power4,
-       }
-};
index a4a50d08d3840b2cb6f43206fa59188d62f40891..373642aff7d8df5f8dce375bbf17d2e0cf244c20 100644 (file)
@@ -119,9 +119,6 @@ extern void do_cpu_ftr_fixups(unsigned long offset);
 
 #ifndef __ASSEMBLY__
 
-#define COMMON_USER_PPC64      (PPC_FEATURE_32 | PPC_FEATURE_64 | \
-                                PPC_FEATURE_HAS_FPU | PPC_FEATURE_HAS_MMU)
-
 #define CPU_FTR_PPCAS_ARCH_V2_BASE (CPU_FTR_SLB | \
                                        CPU_FTR_TLBIEL | CPU_FTR_NOEXECUTE | \
                                        CPU_FTR_NODSISRALIGN | CPU_FTR_CTRL)