linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / arch / powerpc / kernel / cputable.c
index 272e436..e4e8137 100644 (file)
@@ -10,6 +10,7 @@
  *  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>
@@ -29,7 +30,11 @@ EXPORT_SYMBOL(cur_cpu_spec);
  * part of the cputable though. That has to be fixed for both ppc32
  * and ppc64
  */
-#ifdef CONFIG_PPC32
+#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);
@@ -52,9 +57,6 @@ extern void __setup_cpu_ppc970(unsigned long offset, struct cpu_spec* spec);
                                 PPC_FEATURE_SMT | PPC_FEATURE_ICACHE_SNOOP)
 #define COMMON_USER_POWER5_PLUS        (COMMON_USER_PPC64 | PPC_FEATURE_POWER5_PLUS|\
                                 PPC_FEATURE_SMT | PPC_FEATURE_ICACHE_SNOOP)
-#define COMMON_USER_POWER6     (COMMON_USER_PPC64 | PPC_FEATURE_ARCH_2_05 |\
-                                PPC_FEATURE_SMT | PPC_FEATURE_ICACHE_SNOOP | \
-                                PPC_FEATURE_TRUE_LE)
 #define COMMON_USER_BOOKE      (PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU | \
                                 PPC_FEATURE_BOOKE)
 
@@ -74,10 +76,11 @@ struct cpu_spec     cpu_specs[] = {
                .pvr_value              = 0x00400000,
                .cpu_name               = "POWER3 (630)",
                .cpu_features           = CPU_FTRS_POWER3,
-               .cpu_user_features      = COMMON_USER_PPC64|PPC_FEATURE_PPC_LE,
+               .cpu_user_features      = COMMON_USER_PPC64,
                .icache_bsize           = 128,
                .dcache_bsize           = 128,
                .num_pmcs               = 8,
+               .cpu_setup              = __setup_cpu_power3,
                .oprofile_cpu_type      = "ppc64/power3",
                .oprofile_type          = PPC_OPROFILE_RS64,
                .platform               = "power3",
@@ -87,10 +90,11 @@ struct cpu_spec     cpu_specs[] = {
                .pvr_value              = 0x00410000,
                .cpu_name               = "POWER3 (630+)",
                .cpu_features           = CPU_FTRS_POWER3,
-               .cpu_user_features      = COMMON_USER_PPC64|PPC_FEATURE_PPC_LE,
+               .cpu_user_features      = COMMON_USER_PPC64,
                .icache_bsize           = 128,
                .dcache_bsize           = 128,
                .num_pmcs               = 8,
+               .cpu_setup              = __setup_cpu_power3,
                .oprofile_cpu_type      = "ppc64/power3",
                .oprofile_type          = PPC_OPROFILE_RS64,
                .platform               = "power3",
@@ -104,6 +108,7 @@ struct cpu_spec     cpu_specs[] = {
                .icache_bsize           = 128,
                .dcache_bsize           = 128,
                .num_pmcs               = 8,
+               .cpu_setup              = __setup_cpu_power3,
                .oprofile_cpu_type      = "ppc64/rs64",
                .oprofile_type          = PPC_OPROFILE_RS64,
                .platform               = "rs64",
@@ -117,6 +122,7 @@ struct cpu_spec     cpu_specs[] = {
                .icache_bsize           = 128,
                .dcache_bsize           = 128,
                .num_pmcs               = 8,
+               .cpu_setup              = __setup_cpu_power3,
                .oprofile_cpu_type      = "ppc64/rs64",
                .oprofile_type          = PPC_OPROFILE_RS64,
                .platform               = "rs64",
@@ -130,6 +136,7 @@ struct cpu_spec     cpu_specs[] = {
                .icache_bsize           = 128,
                .dcache_bsize           = 128,
                .num_pmcs               = 8,
+               .cpu_setup              = __setup_cpu_power3,
                .oprofile_cpu_type      = "ppc64/rs64",
                .oprofile_type          = PPC_OPROFILE_RS64,
                .platform               = "rs64",
@@ -143,6 +150,7 @@ struct cpu_spec     cpu_specs[] = {
                .icache_bsize           = 128,
                .dcache_bsize           = 128,
                .num_pmcs               = 8,
+               .cpu_setup              = __setup_cpu_power3,
                .oprofile_cpu_type      = "ppc64/rs64",
                .oprofile_type          = PPC_OPROFILE_RS64,
                .platform               = "rs64",
@@ -156,6 +164,7 @@ struct cpu_spec     cpu_specs[] = {
                .icache_bsize           = 128,
                .dcache_bsize           = 128,
                .num_pmcs               = 8,
+               .cpu_setup              = __setup_cpu_power4,
                .oprofile_cpu_type      = "ppc64/power4",
                .oprofile_type          = PPC_OPROFILE_POWER4,
                .platform               = "power4",
@@ -169,6 +178,7 @@ struct cpu_spec     cpu_specs[] = {
                .icache_bsize           = 128,
                .dcache_bsize           = 128,
                .num_pmcs               = 8,
+               .cpu_setup              = __setup_cpu_power4,
                .oprofile_cpu_type      = "ppc64/power4",
                .oprofile_type          = PPC_OPROFILE_POWER4,
                .platform               = "power4",
@@ -188,11 +198,17 @@ struct cpu_spec   cpu_specs[] = {
                .oprofile_type          = PPC_OPROFILE_POWER4,
                .platform               = "ppc970",
        },
+#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_POWER4 |
                        PPC_FEATURE_HAS_ALTIVEC_COMP,
                .icache_bsize           = 128,
@@ -203,6 +219,8 @@ struct cpu_spec     cpu_specs[] = {
                .oprofile_type          = PPC_OPROFILE_POWER4,
                .platform               = "ppc970",
        },
+#endif /* defined(CONFIG_PPC64) || defined(CONFIG_POWER4) */
+#ifdef CONFIG_PPC64
        {       /* PPC970MP */
                .pvr_mask               = 0xffff0000,
                .pvr_value              = 0x00440000,
@@ -212,7 +230,6 @@ struct cpu_spec     cpu_specs[] = {
                        PPC_FEATURE_HAS_ALTIVEC_COMP,
                .icache_bsize           = 128,
                .dcache_bsize           = 128,
-               .num_pmcs               = 8,
                .cpu_setup              = __setup_cpu_ppc970,
                .oprofile_cpu_type      = "ppc64/970",
                .oprofile_type          = PPC_OPROFILE_POWER4,
@@ -227,13 +244,9 @@ struct cpu_spec    cpu_specs[] = {
                .icache_bsize           = 128,
                .dcache_bsize           = 128,
                .num_pmcs               = 6,
+               .cpu_setup              = __setup_cpu_power4,
                .oprofile_cpu_type      = "ppc64/power5",
                .oprofile_type          = PPC_OPROFILE_POWER4,
-               /* SIHV / SIPR bits are implemented on POWER4+ (GQ)
-                * and above but only works on POWER5 and above
-                */
-               .oprofile_mmcra_sihv    = MMCRA_SIHV,
-               .oprofile_mmcra_sipr    = MMCRA_SIPR,
                .platform               = "power5",
        },
        {       /* Power5 GS */
@@ -245,29 +258,11 @@ struct cpu_spec   cpu_specs[] = {
                .icache_bsize           = 128,
                .dcache_bsize           = 128,
                .num_pmcs               = 6,
+               .cpu_setup              = __setup_cpu_power4,
                .oprofile_cpu_type      = "ppc64/power5+",
                .oprofile_type          = PPC_OPROFILE_POWER4,
-               .oprofile_mmcra_sihv    = MMCRA_SIHV,
-               .oprofile_mmcra_sipr    = MMCRA_SIPR,
                .platform               = "power5+",
        },
-       {       /* Power6 */
-               .pvr_mask               = 0xffff0000,
-               .pvr_value              = 0x003e0000,
-               .cpu_name               = "POWER6",
-               .cpu_features           = CPU_FTRS_POWER6,
-               .cpu_user_features      = COMMON_USER_POWER6,
-               .icache_bsize           = 128,
-               .dcache_bsize           = 128,
-               .num_pmcs               = 8,
-               .oprofile_cpu_type      = "ppc64/power6",
-               .oprofile_type          = PPC_OPROFILE_POWER4,
-               .oprofile_mmcra_sihv    = POWER6_MMCRA_SIHV,
-               .oprofile_mmcra_sipr    = POWER6_MMCRA_SIPR,
-               .oprofile_mmcra_clear   = POWER6_MMCRA_THRM |
-                       POWER6_MMCRA_OTHER,
-               .platform               = "power6",
-       },
        {       /* Cell Broadband Engine */
                .pvr_mask               = 0xffff0000,
                .pvr_value              = 0x00700000,
@@ -278,6 +273,7 @@ struct cpu_spec     cpu_specs[] = {
                        PPC_FEATURE_SMT,
                .icache_bsize           = 128,
                .dcache_bsize           = 128,
+               .cpu_setup              = __setup_cpu_be,
                .platform               = "ppc-cell-be",
        },
        {       /* default match */
@@ -289,6 +285,7 @@ struct cpu_spec     cpu_specs[] = {
                .icache_bsize           = 128,
                .dcache_bsize           = 128,
                .num_pmcs               = 6,
+               .cpu_setup              = __setup_cpu_power4,
                .platform               = "power4",
        }
 #endif /* CONFIG_PPC64 */
@@ -310,7 +307,7 @@ struct cpu_spec     cpu_specs[] = {
                .pvr_value              = 0x00030000,
                .cpu_name               = "603",
                .cpu_features           = CPU_FTRS_603,
-               .cpu_user_features      = COMMON_USER | PPC_FEATURE_PPC_LE,
+               .cpu_user_features      = COMMON_USER,
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .cpu_setup              = __setup_cpu_603,
@@ -321,7 +318,7 @@ struct cpu_spec     cpu_specs[] = {
                .pvr_value              = 0x00060000,
                .cpu_name               = "603e",
                .cpu_features           = CPU_FTRS_603,
-               .cpu_user_features      = COMMON_USER | PPC_FEATURE_PPC_LE,
+               .cpu_user_features      = COMMON_USER,
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .cpu_setup              = __setup_cpu_603,
@@ -332,7 +329,7 @@ struct cpu_spec     cpu_specs[] = {
                .pvr_value              = 0x00070000,
                .cpu_name               = "603ev",
                .cpu_features           = CPU_FTRS_603,
-               .cpu_user_features      = COMMON_USER | PPC_FEATURE_PPC_LE,
+               .cpu_user_features      = COMMON_USER,
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .cpu_setup              = __setup_cpu_603,
@@ -343,7 +340,7 @@ struct cpu_spec     cpu_specs[] = {
                .pvr_value              = 0x00040000,
                .cpu_name               = "604",
                .cpu_features           = CPU_FTRS_604,
-               .cpu_user_features      = COMMON_USER | PPC_FEATURE_PPC_LE,
+               .cpu_user_features      = COMMON_USER,
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .num_pmcs               = 2,
@@ -355,7 +352,7 @@ struct cpu_spec     cpu_specs[] = {
                .pvr_value              = 0x00090000,
                .cpu_name               = "604e",
                .cpu_features           = CPU_FTRS_604,
-               .cpu_user_features      = COMMON_USER | PPC_FEATURE_PPC_LE,
+               .cpu_user_features      = COMMON_USER,
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .num_pmcs               = 4,
@@ -367,7 +364,7 @@ struct cpu_spec     cpu_specs[] = {
                .pvr_value              = 0x00090000,
                .cpu_name               = "604r",
                .cpu_features           = CPU_FTRS_604,
-               .cpu_user_features      = COMMON_USER | PPC_FEATURE_PPC_LE,
+               .cpu_user_features      = COMMON_USER,
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .num_pmcs               = 4,
@@ -379,7 +376,7 @@ struct cpu_spec     cpu_specs[] = {
                .pvr_value              = 0x000a0000,
                .cpu_name               = "604ev",
                .cpu_features           = CPU_FTRS_604,
-               .cpu_user_features      = COMMON_USER | PPC_FEATURE_PPC_LE,
+               .cpu_user_features      = COMMON_USER,
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .num_pmcs               = 4,
@@ -391,7 +388,7 @@ struct cpu_spec     cpu_specs[] = {
                .pvr_value              = 0x00084202,
                .cpu_name               = "740/750",
                .cpu_features           = CPU_FTRS_740_NOTAU,
-               .cpu_user_features      = COMMON_USER | PPC_FEATURE_PPC_LE,
+               .cpu_user_features      = COMMON_USER,
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .num_pmcs               = 4,
@@ -403,7 +400,7 @@ struct cpu_spec     cpu_specs[] = {
                .pvr_value              = 0x00080100,
                .cpu_name               = "750CX",
                .cpu_features           = CPU_FTRS_750,
-               .cpu_user_features      = COMMON_USER | PPC_FEATURE_PPC_LE,
+               .cpu_user_features      = COMMON_USER,
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .num_pmcs               = 4,
@@ -415,7 +412,7 @@ struct cpu_spec     cpu_specs[] = {
                .pvr_value              = 0x00082200,
                .cpu_name               = "750CX",
                .cpu_features           = CPU_FTRS_750,
-               .cpu_user_features      = COMMON_USER | PPC_FEATURE_PPC_LE,
+               .cpu_user_features      = COMMON_USER,
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .num_pmcs               = 4,
@@ -427,7 +424,7 @@ struct cpu_spec     cpu_specs[] = {
                .pvr_value              = 0x00082210,
                .cpu_name               = "750CXe",
                .cpu_features           = CPU_FTRS_750,
-               .cpu_user_features      = COMMON_USER | PPC_FEATURE_PPC_LE,
+               .cpu_user_features      = COMMON_USER,
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .num_pmcs               = 4,
@@ -439,7 +436,7 @@ struct cpu_spec     cpu_specs[] = {
                .pvr_value              = 0x00083214,
                .cpu_name               = "750CXe",
                .cpu_features           = CPU_FTRS_750,
-               .cpu_user_features      = COMMON_USER | PPC_FEATURE_PPC_LE,
+               .cpu_user_features      = COMMON_USER,
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .num_pmcs               = 4,
@@ -451,7 +448,7 @@ struct cpu_spec     cpu_specs[] = {
                .pvr_value              = 0x00083000,
                .cpu_name               = "745/755",
                .cpu_features           = CPU_FTRS_750,
-               .cpu_user_features      = COMMON_USER | PPC_FEATURE_PPC_LE,
+               .cpu_user_features      = COMMON_USER,
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .num_pmcs               = 4,
@@ -463,7 +460,7 @@ struct cpu_spec     cpu_specs[] = {
                .pvr_value              = 0x70000100,
                .cpu_name               = "750FX",
                .cpu_features           = CPU_FTRS_750FX1,
-               .cpu_user_features      = COMMON_USER | PPC_FEATURE_PPC_LE,
+               .cpu_user_features      = COMMON_USER,
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .num_pmcs               = 4,
@@ -475,7 +472,7 @@ struct cpu_spec     cpu_specs[] = {
                .pvr_value              = 0x70000200,
                .cpu_name               = "750FX",
                .cpu_features           = CPU_FTRS_750FX2,
-               .cpu_user_features      = COMMON_USER | PPC_FEATURE_PPC_LE,
+               .cpu_user_features      = COMMON_USER,
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .num_pmcs               = 4,
@@ -487,7 +484,7 @@ struct cpu_spec     cpu_specs[] = {
                .pvr_value              = 0x70000000,
                .cpu_name               = "750FX",
                .cpu_features           = CPU_FTRS_750FX,
-               .cpu_user_features      = COMMON_USER | PPC_FEATURE_PPC_LE,
+               .cpu_user_features      = COMMON_USER,
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .num_pmcs               = 4,
@@ -499,7 +496,7 @@ struct cpu_spec     cpu_specs[] = {
                .pvr_value              = 0x70020000,
                .cpu_name               = "750GX",
                .cpu_features           = CPU_FTRS_750GX,
-               .cpu_user_features      = COMMON_USER | PPC_FEATURE_PPC_LE,
+               .cpu_user_features      = COMMON_USER,
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .num_pmcs               = 4,
@@ -511,7 +508,7 @@ struct cpu_spec     cpu_specs[] = {
                .pvr_value              = 0x00080000,
                .cpu_name               = "740/750",
                .cpu_features           = CPU_FTRS_740,
-               .cpu_user_features      = COMMON_USER | PPC_FEATURE_PPC_LE,
+               .cpu_user_features      = COMMON_USER,
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .num_pmcs               = 4,
@@ -523,8 +520,7 @@ struct cpu_spec     cpu_specs[] = {
                .pvr_value              = 0x000c1101,
                .cpu_name               = "7400 (1.1)",
                .cpu_features           = CPU_FTRS_7400_NOTAU,
-               .cpu_user_features      = COMMON_USER |
-                       PPC_FEATURE_HAS_ALTIVEC_COMP | PPC_FEATURE_PPC_LE,
+               .cpu_user_features      = COMMON_USER | PPC_FEATURE_HAS_ALTIVEC_COMP,
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .num_pmcs               = 4,
@@ -536,8 +532,7 @@ struct cpu_spec     cpu_specs[] = {
                .pvr_value              = 0x000c0000,
                .cpu_name               = "7400",
                .cpu_features           = CPU_FTRS_7400,
-               .cpu_user_features      = COMMON_USER |
-                       PPC_FEATURE_HAS_ALTIVEC_COMP | PPC_FEATURE_PPC_LE,
+               .cpu_user_features      = COMMON_USER | PPC_FEATURE_HAS_ALTIVEC_COMP,
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .num_pmcs               = 4,
@@ -549,8 +544,7 @@ struct cpu_spec     cpu_specs[] = {
                .pvr_value              = 0x800c0000,
                .cpu_name               = "7410",
                .cpu_features           = CPU_FTRS_7400,
-               .cpu_user_features      = COMMON_USER |
-                       PPC_FEATURE_HAS_ALTIVEC_COMP | PPC_FEATURE_PPC_LE,
+               .cpu_user_features      = COMMON_USER | PPC_FEATURE_HAS_ALTIVEC_COMP,
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .num_pmcs               = 4,
@@ -562,8 +556,7 @@ struct cpu_spec     cpu_specs[] = {
                .pvr_value              = 0x80000200,
                .cpu_name               = "7450",
                .cpu_features           = CPU_FTRS_7450_20,
-               .cpu_user_features      = COMMON_USER |
-                       PPC_FEATURE_HAS_ALTIVEC_COMP | PPC_FEATURE_PPC_LE,
+               .cpu_user_features      = COMMON_USER | PPC_FEATURE_HAS_ALTIVEC_COMP,
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .num_pmcs               = 6,
@@ -577,8 +570,7 @@ struct cpu_spec     cpu_specs[] = {
                .pvr_value              = 0x80000201,
                .cpu_name               = "7450",
                .cpu_features           = CPU_FTRS_7450_21,
-               .cpu_user_features      = COMMON_USER |
-                       PPC_FEATURE_HAS_ALTIVEC_COMP | PPC_FEATURE_PPC_LE,
+               .cpu_user_features      = COMMON_USER | PPC_FEATURE_HAS_ALTIVEC_COMP,
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .num_pmcs               = 6,
@@ -592,8 +584,7 @@ struct cpu_spec     cpu_specs[] = {
                .pvr_value              = 0x80000000,
                .cpu_name               = "7450",
                .cpu_features           = CPU_FTRS_7450_23,
-               .cpu_user_features      = COMMON_USER |
-                       PPC_FEATURE_HAS_ALTIVEC_COMP | PPC_FEATURE_PPC_LE,
+               .cpu_user_features      = COMMON_USER | PPC_FEATURE_HAS_ALTIVEC_COMP,
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .num_pmcs               = 6,
@@ -607,8 +598,7 @@ struct cpu_spec     cpu_specs[] = {
                .pvr_value              = 0x80010100,
                .cpu_name               = "7455",
                .cpu_features           = CPU_FTRS_7455_1,
-               .cpu_user_features      = COMMON_USER |
-                       PPC_FEATURE_HAS_ALTIVEC_COMP | PPC_FEATURE_PPC_LE,
+               .cpu_user_features      = COMMON_USER | PPC_FEATURE_HAS_ALTIVEC_COMP,
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .num_pmcs               = 6,
@@ -622,8 +612,7 @@ struct cpu_spec     cpu_specs[] = {
                .pvr_value              = 0x80010200,
                .cpu_name               = "7455",
                .cpu_features           = CPU_FTRS_7455_20,
-               .cpu_user_features      = COMMON_USER |
-                       PPC_FEATURE_HAS_ALTIVEC_COMP | PPC_FEATURE_PPC_LE,
+               .cpu_user_features      = COMMON_USER | PPC_FEATURE_HAS_ALTIVEC_COMP,
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .num_pmcs               = 6,
@@ -637,8 +626,7 @@ struct cpu_spec     cpu_specs[] = {
                .pvr_value              = 0x80010000,
                .cpu_name               = "7455",
                .cpu_features           = CPU_FTRS_7455,
-               .cpu_user_features      = COMMON_USER |
-                       PPC_FEATURE_HAS_ALTIVEC_COMP | PPC_FEATURE_PPC_LE,
+               .cpu_user_features      = COMMON_USER | PPC_FEATURE_HAS_ALTIVEC_COMP,
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .num_pmcs               = 6,
@@ -652,8 +640,7 @@ struct cpu_spec     cpu_specs[] = {
                .pvr_value              = 0x80020100,
                .cpu_name               = "7447/7457",
                .cpu_features           = CPU_FTRS_7447_10,
-               .cpu_user_features      = COMMON_USER |
-                       PPC_FEATURE_HAS_ALTIVEC_COMP | PPC_FEATURE_PPC_LE,
+               .cpu_user_features      = COMMON_USER | PPC_FEATURE_HAS_ALTIVEC_COMP,
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .num_pmcs               = 6,
@@ -667,8 +654,7 @@ struct cpu_spec     cpu_specs[] = {
                .pvr_value              = 0x80020101,
                .cpu_name               = "7447/7457",
                .cpu_features           = CPU_FTRS_7447_10,
-               .cpu_user_features      = COMMON_USER |
-                       PPC_FEATURE_HAS_ALTIVEC_COMP | PPC_FEATURE_PPC_LE,
+               .cpu_user_features      = COMMON_USER | PPC_FEATURE_HAS_ALTIVEC_COMP,
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .num_pmcs               = 6,
@@ -682,7 +668,7 @@ struct cpu_spec     cpu_specs[] = {
                .pvr_value              = 0x80020000,
                .cpu_name               = "7447/7457",
                .cpu_features           = CPU_FTRS_7447,
-               .cpu_user_features      = COMMON_USER | PPC_FEATURE_HAS_ALTIVEC_COMP | PPC_FEATURE_PPC_LE,
+               .cpu_user_features      = COMMON_USER | PPC_FEATURE_HAS_ALTIVEC_COMP,
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .num_pmcs               = 6,
@@ -696,8 +682,7 @@ struct cpu_spec     cpu_specs[] = {
                .pvr_value              = 0x80030000,
                .cpu_name               = "7447A",
                .cpu_features           = CPU_FTRS_7447A,
-               .cpu_user_features      = COMMON_USER |
-                       PPC_FEATURE_HAS_ALTIVEC_COMP | PPC_FEATURE_PPC_LE,
+               .cpu_user_features      = COMMON_USER | PPC_FEATURE_HAS_ALTIVEC_COMP,
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .num_pmcs               = 6,
@@ -711,8 +696,7 @@ struct cpu_spec     cpu_specs[] = {
                .pvr_value              = 0x80040000,
                .cpu_name               = "7448",
                .cpu_features           = CPU_FTRS_7447A,
-               .cpu_user_features      = COMMON_USER |
-                       PPC_FEATURE_HAS_ALTIVEC_COMP | PPC_FEATURE_PPC_LE,
+               .cpu_user_features      = COMMON_USER | PPC_FEATURE_HAS_ALTIVEC_COMP,
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .num_pmcs               = 6,
@@ -910,7 +894,7 @@ struct cpu_spec     cpu_specs[] = {
                .platform               = "ppc405",
        },
        {       /* Xilinx Virtex-II Pro  */
-               .pvr_mask               = 0xfffff000,
+               .pvr_mask               = 0xffff0000,
                .pvr_value              = 0x20010000,
                .cpu_name               = "Virtex-II Pro",
                .cpu_features           = CPU_FTRS_40X,
@@ -920,16 +904,6 @@ struct cpu_spec    cpu_specs[] = {
                .dcache_bsize           = 32,
                .platform               = "ppc405",
        },
-       {       /* Xilinx Virtex-4 FX */
-               .pvr_mask               = 0xfffff000,
-               .pvr_value              = 0x20011000,
-               .cpu_name               = "Virtex-4 FX",
-               .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,