aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel
diff options
context:
space:
mode:
authorVarun Sethi <Varun.Sethi@freescale.com>2012-07-09 08:58:21 -0400
committerKumar Gala <galak@kernel.crashing.org>2012-09-12 15:57:09 -0400
commit2c71b0cc4a626d8bd02b88b3b92ce18be4d54c6d (patch)
treed8bce06c440de2c1396a6d28cc399f361c90f59e /arch/powerpc/kernel
parent7e0f4872a33c6da38e727cf42c939cc32294fce6 (diff)
powerpc/booke: Merge the 32 bit e5500/e500mc cpu setup code.
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>
Diffstat (limited to 'arch/powerpc/kernel')
-rw-r--r--arch/powerpc/kernel/cpu_setup_fsl_booke.S7
-rw-r--r--arch/powerpc/kernel/cputable.c4
2 files changed, 7 insertions, 4 deletions
diff --git a/arch/powerpc/kernel/cpu_setup_fsl_booke.S b/arch/powerpc/kernel/cpu_setup_fsl_booke.S
index a55d028aa0da..021822daa8f6 100644
--- a/arch/powerpc/kernel/cpu_setup_fsl_booke.S
+++ b/arch/powerpc/kernel/cpu_setup_fsl_booke.S
@@ -75,6 +75,7 @@ _GLOBAL(__setup_cpu_e500v2)
75 mtlr r4 75 mtlr r4
76 blr 76 blr
77_GLOBAL(__setup_cpu_e500mc) 77_GLOBAL(__setup_cpu_e500mc)
78_GLOBAL(__setup_cpu_e5500)
78 mflr r5 79 mflr r5
79 bl __e500_icache_setup 80 bl __e500_icache_setup
80 bl __e500_dcache_setup 81 bl __e500_dcache_setup
@@ -104,19 +105,17 @@ _GLOBAL(__setup_cpu_e500mc)
104 mtlr r5 105 mtlr r5
105 blr 106 blr
106#endif 107#endif
108#ifdef CONFIG_PPC_BOOK3E_64
107/* Right now, restore and setup are the same thing */ 109/* Right now, restore and setup are the same thing */
108_GLOBAL(__restore_cpu_e5500) 110_GLOBAL(__restore_cpu_e5500)
109_GLOBAL(__setup_cpu_e5500) 111_GLOBAL(__setup_cpu_e5500)
110 mflr r4 112 mflr r4
111 bl __e500_icache_setup 113 bl __e500_icache_setup
112 bl __e500_dcache_setup 114 bl __e500_dcache_setup
113#ifdef CONFIG_PPC_BOOK3E_64
114 bl .__setup_base_ivors 115 bl .__setup_base_ivors
115 bl .setup_perfmon_ivor 116 bl .setup_perfmon_ivor
116 bl .setup_doorbell_ivors 117 bl .setup_doorbell_ivors
117 bl .setup_ehv_ivors 118 bl .setup_ehv_ivors
118#else
119 bl __setup_e500mc_ivors
120#endif
121 mtlr r4 119 mtlr r4
122 blr 120 blr
121#endif
diff --git a/arch/powerpc/kernel/cputable.c b/arch/powerpc/kernel/cputable.c
index 455faa389876..0514c21f138b 100644
--- a/arch/powerpc/kernel/cputable.c
+++ b/arch/powerpc/kernel/cputable.c
@@ -2016,7 +2016,9 @@ static struct cpu_spec __initdata cpu_specs[] = {
2016 .oprofile_cpu_type = "ppc/e500mc", 2016 .oprofile_cpu_type = "ppc/e500mc",
2017 .oprofile_type = PPC_OPROFILE_FSL_EMB, 2017 .oprofile_type = PPC_OPROFILE_FSL_EMB,
2018 .cpu_setup = __setup_cpu_e5500, 2018 .cpu_setup = __setup_cpu_e5500,
2019#ifndef CONFIG_PPC32
2019 .cpu_restore = __restore_cpu_e5500, 2020 .cpu_restore = __restore_cpu_e5500,
2021#endif
2020 .machine_check = machine_check_e500mc, 2022 .machine_check = machine_check_e500mc,
2021 .platform = "ppce5500", 2023 .platform = "ppce5500",
2022 }, 2024 },
@@ -2034,7 +2036,9 @@ static struct cpu_spec __initdata cpu_specs[] = {
2034 .oprofile_cpu_type = "ppc/e6500", 2036 .oprofile_cpu_type = "ppc/e6500",
2035 .oprofile_type = PPC_OPROFILE_FSL_EMB, 2037 .oprofile_type = PPC_OPROFILE_FSL_EMB,
2036 .cpu_setup = __setup_cpu_e5500, 2038 .cpu_setup = __setup_cpu_e5500,
2039#ifndef CONFIG_PPC32
2037 .cpu_restore = __restore_cpu_e5500, 2040 .cpu_restore = __restore_cpu_e5500,
2041#endif
2038 .machine_check = machine_check_e500mc, 2042 .machine_check = machine_check_e500mc,
2039 .platform = "ppce6500", 2043 .platform = "ppce6500",
2040 }, 2044 },