powerpc/booke: Merge the 32 bit e5500/e500mc cpu setup code.
authorVarun Sethi <Varun.Sethi@freescale.com>
Mon, 9 Jul 2012 12:58:21 +0000 (18:28 +0530)
committerKumar Gala <galak@kernel.crashing.org>
Wed, 12 Sep 2012 19:57:09 +0000 (14:57 -0500)
Merge the 32 bit cpu setup code for e500mc/e5500 and define the
"cpu_restore" routine (for e5500/e6500) only for the 64 bit case. The
cpu_restore routine is used in the 64 bit case for setting up the secondary
cores.

Signed-off-by: Varun Sethi <Varun.Sethi@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
arch/powerpc/kernel/cpu_setup_fsl_booke.S
arch/powerpc/kernel/cputable.c

index a55d028aa0da68fd8e834b0e7c5c9c5f24bff1f9..021822daa8f67f587dafb1c0dc779c7c1a421582 100644 (file)
@@ -75,6 +75,7 @@ _GLOBAL(__setup_cpu_e500v2)
        mtlr    r4
        blr
 _GLOBAL(__setup_cpu_e500mc)
+_GLOBAL(__setup_cpu_e5500)
        mflr    r5
        bl      __e500_icache_setup
        bl      __e500_dcache_setup
@@ -104,19 +105,17 @@ _GLOBAL(__setup_cpu_e500mc)
        mtlr    r5
        blr
 #endif
+#ifdef CONFIG_PPC_BOOK3E_64
 /* Right now, restore and setup are the same thing */
 _GLOBAL(__restore_cpu_e5500)
 _GLOBAL(__setup_cpu_e5500)
        mflr    r4
        bl      __e500_icache_setup
        bl      __e500_dcache_setup
-#ifdef CONFIG_PPC_BOOK3E_64
        bl      .__setup_base_ivors
        bl      .setup_perfmon_ivor
        bl      .setup_doorbell_ivors
        bl      .setup_ehv_ivors
-#else
-       bl      __setup_e500mc_ivors
-#endif
        mtlr    r4
        blr
+#endif
index 455faa389876e51f3afaa732f74949b6859ae95c..0514c21f138bee013812ab5bcffde2ddb84da60a 100644 (file)
@@ -2016,7 +2016,9 @@ static struct cpu_spec __initdata cpu_specs[] = {
                .oprofile_cpu_type      = "ppc/e500mc",
                .oprofile_type          = PPC_OPROFILE_FSL_EMB,
                .cpu_setup              = __setup_cpu_e5500,
+#ifndef CONFIG_PPC32
                .cpu_restore            = __restore_cpu_e5500,
+#endif
                .machine_check          = machine_check_e500mc,
                .platform               = "ppce5500",
        },
@@ -2034,7 +2036,9 @@ static struct cpu_spec __initdata cpu_specs[] = {
                .oprofile_cpu_type      = "ppc/e6500",
                .oprofile_type          = PPC_OPROFILE_FSL_EMB,
                .cpu_setup              = __setup_cpu_e5500,
+#ifndef CONFIG_PPC32
                .cpu_restore            = __restore_cpu_e5500,
+#endif
                .machine_check          = machine_check_e500mc,
                .platform               = "ppce6500",
        },