]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
Merge remote branch 'jwb/next' into next
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>
Thu, 17 Mar 2011 06:59:01 +0000 (17:59 +1100)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Thu, 17 Mar 2011 06:59:01 +0000 (17:59 +1100)
1  2 
arch/powerpc/kernel/cputable.c

index e8e915ce3d8d4a8273459608ec92623abaef9529,bf7cf86e04dda7e5e8e2f9e09074a0be7e0ba738..c9b68d07ac4fca3cdd8996e8a43d850034efb407
@@@ -116,6 -116,7 +116,6 @@@ static struct cpu_spec __initdata cpu_s
                .pmc_type               = PPC_PMC_IBM,
                .oprofile_cpu_type      = "ppc64/power3",
                .oprofile_type          = PPC_OPROFILE_RS64,
 -              .machine_check          = machine_check_generic,
                .platform               = "power3",
        },
        {       /* Power3+ */
                .pmc_type               = PPC_PMC_IBM,
                .oprofile_cpu_type      = "ppc64/power3",
                .oprofile_type          = PPC_OPROFILE_RS64,
 -              .machine_check          = machine_check_generic,
                .platform               = "power3",
        },
        {       /* Northstar */
                .pmc_type               = PPC_PMC_IBM,
                .oprofile_cpu_type      = "ppc64/rs64",
                .oprofile_type          = PPC_OPROFILE_RS64,
 -              .machine_check          = machine_check_generic,
                .platform               = "rs64",
        },
        {       /* Pulsar */
                .pmc_type               = PPC_PMC_IBM,
                .oprofile_cpu_type      = "ppc64/rs64",
                .oprofile_type          = PPC_OPROFILE_RS64,
 -              .machine_check          = machine_check_generic,
                .platform               = "rs64",
        },
        {       /* I-star */
                .pmc_type               = PPC_PMC_IBM,
                .oprofile_cpu_type      = "ppc64/rs64",
                .oprofile_type          = PPC_OPROFILE_RS64,
 -              .machine_check          = machine_check_generic,
                .platform               = "rs64",
        },
        {       /* S-star */
                .pmc_type               = PPC_PMC_IBM,
                .oprofile_cpu_type      = "ppc64/rs64",
                .oprofile_type          = PPC_OPROFILE_RS64,
 -              .machine_check          = machine_check_generic,
                .platform               = "rs64",
        },
        {       /* Power4 */
                .pmc_type               = PPC_PMC_IBM,
                .oprofile_cpu_type      = "ppc64/power4",
                .oprofile_type          = PPC_OPROFILE_POWER4,
 -              .machine_check          = machine_check_generic,
                .platform               = "power4",
        },
        {       /* Power4+ */
                .pmc_type               = PPC_PMC_IBM,
                .oprofile_cpu_type      = "ppc64/power4",
                .oprofile_type          = PPC_OPROFILE_POWER4,
 -              .machine_check          = machine_check_generic,
                .platform               = "power4",
        },
        {       /* PPC970 */
                .cpu_restore            = __restore_cpu_ppc970,
                .oprofile_cpu_type      = "ppc64/970",
                .oprofile_type          = PPC_OPROFILE_POWER4,
 -              .machine_check          = machine_check_generic,
                .platform               = "ppc970",
        },
        {       /* PPC970FX */
                .cpu_restore            = __restore_cpu_ppc970,
                .oprofile_cpu_type      = "ppc64/970",
                .oprofile_type          = PPC_OPROFILE_POWER4,
 -              .machine_check          = machine_check_generic,
                .platform               = "ppc970",
        },
        {       /* PPC970MP DD1.0 - no DEEPNAP, use regular 970 init */
                .cpu_restore            = __restore_cpu_ppc970,
                .oprofile_cpu_type      = "ppc64/970MP",
                .oprofile_type          = PPC_OPROFILE_POWER4,
 -              .machine_check          = machine_check_generic,
                .platform               = "ppc970",
        },
        {       /* PPC970MP */
                .cpu_restore            = __restore_cpu_ppc970,
                .oprofile_cpu_type      = "ppc64/970MP",
                .oprofile_type          = PPC_OPROFILE_POWER4,
 -              .machine_check          = machine_check_generic,
                .platform               = "ppc970",
        },
        {       /* PPC970GX */
                .cpu_setup              = __setup_cpu_ppc970,
                .oprofile_cpu_type      = "ppc64/970",
                .oprofile_type          = PPC_OPROFILE_POWER4,
 -              .machine_check          = machine_check_generic,
                .platform               = "ppc970",
        },
        {       /* Power5 GR */
                 */
                .oprofile_mmcra_sihv    = MMCRA_SIHV,
                .oprofile_mmcra_sipr    = MMCRA_SIPR,
 -              .machine_check          = machine_check_generic,
                .platform               = "power5",
        },
        {       /* Power5++ */
                .oprofile_type          = PPC_OPROFILE_POWER4,
                .oprofile_mmcra_sihv    = MMCRA_SIHV,
                .oprofile_mmcra_sipr    = MMCRA_SIPR,
 -              .machine_check          = machine_check_generic,
                .platform               = "power5+",
        },
        {       /* Power5 GS */
                .oprofile_type          = PPC_OPROFILE_POWER4,
                .oprofile_mmcra_sihv    = MMCRA_SIHV,
                .oprofile_mmcra_sipr    = MMCRA_SIPR,
 -              .machine_check          = machine_check_generic,
                .platform               = "power5+",
        },
        {       /* POWER6 in P5+ mode; 2.04-compliant processor */
                .mmu_features           = MMU_FTR_HPTE_TABLE,
                .icache_bsize           = 128,
                .dcache_bsize           = 128,
 -              .machine_check          = machine_check_generic,
                .oprofile_cpu_type      = "ppc64/ibm-compat-v1",
                .oprofile_type          = PPC_OPROFILE_POWER4,
                .platform               = "power5+",
                .oprofile_mmcra_sipr    = POWER6_MMCRA_SIPR,
                .oprofile_mmcra_clear   = POWER6_MMCRA_THRM |
                        POWER6_MMCRA_OTHER,
 -              .machine_check          = machine_check_generic,
                .platform               = "power6x",
        },
        {       /* 2.05-compliant processor, i.e. Power6 "architected" mode */
                .mmu_features           = MMU_FTR_HPTE_TABLE,
                .icache_bsize           = 128,
                .dcache_bsize           = 128,
 -              .machine_check          = machine_check_generic,
                .oprofile_cpu_type      = "ppc64/ibm-compat-v1",
                .oprofile_type          = PPC_OPROFILE_POWER4,
                .platform               = "power6",
                        MMU_FTR_TLBIE_206,
                .icache_bsize           = 128,
                .dcache_bsize           = 128,
 -              .machine_check          = machine_check_generic,
                .oprofile_type          = PPC_OPROFILE_POWER4,
                .oprofile_cpu_type      = "ppc64/ibm-compat-v1",
                .platform               = "power7",
                .pmc_type               = PPC_PMC_IBM,
                .oprofile_cpu_type      = "ppc64/cell-be",
                .oprofile_type          = PPC_OPROFILE_CELL,
 -              .machine_check          = machine_check_generic,
                .platform               = "ppc-cell-be",
        },
        {       /* PA Semi PA6T */
                .cpu_restore            = __restore_cpu_pa6t,
                .oprofile_cpu_type      = "ppc64/pa6t",
                .oprofile_type          = PPC_OPROFILE_PA6T,
 -              .machine_check          = machine_check_generic,
                .platform               = "pa6t",
        },
        {       /* default match */
                .dcache_bsize           = 128,
                .num_pmcs               = 6,
                .pmc_type               = PPC_PMC_IBM,
 -              .machine_check          = machine_check_generic,
                .platform               = "power4",
        }
  #endif        /* CONFIG_PPC_BOOK3S_64 */
                .machine_check          = machine_check_440A,
                .platform               = "ppc440",
        },
-       { /* 476 core */
-               .pvr_mask               = 0xffff0000,
-               .pvr_value              = 0x11a50000,
+       { /* 476 DD2 core */
+               .pvr_mask               = 0xffffffff,
+               .pvr_value              = 0x11a52080,
                .cpu_name               = "476",
-               .cpu_features           = CPU_FTRS_47X,
+               .cpu_features           = CPU_FTRS_47X | CPU_FTR_476_DD2,
                .cpu_user_features      = COMMON_USER_BOOKE |
                        PPC_FEATURE_HAS_FPU,
                .mmu_features           = MMU_FTR_TYPE_47x |
                .machine_check          = machine_check_47x,
                .platform               = "ppc470",
        },
+       { /* 476 others */
+               .pvr_mask               = 0xffff0000,
+               .pvr_value              = 0x11a50000,
+               .cpu_name               = "476",
+               .cpu_features           = CPU_FTRS_47X,
+               .cpu_user_features      = COMMON_USER_BOOKE |
+                       PPC_FEATURE_HAS_FPU,
+               .mmu_features           = MMU_FTR_TYPE_47x |
+                       MMU_FTR_USE_TLBIVAX_BCAST | MMU_FTR_LOCK_BCAST_INVAL,
+               .icache_bsize           = 32,
+               .dcache_bsize           = 128,
+               .machine_check          = machine_check_47x,
+               .platform               = "ppc470",
+       },
        {       /* default match */
                .pvr_mask               = 0x00000000,
                .pvr_value              = 0x00000000,
@@@ -2076,8 -2113,8 +2090,8 @@@ static void __init setup_cpu_spec(unsig
         * pointer on ppc64 and booke as we are running at 0 in real mode
         * on ppc64 and reloc_offset is always 0 on booke.
         */
 -      if (s->cpu_setup) {
 -              s->cpu_setup(offset, s);
 +      if (t->cpu_setup) {
 +              t->cpu_setup(offset, t);
        }
  #endif /* CONFIG_PPC64 || CONFIG_BOOKE */
  }