Commit 2c71b0cc authored by Varun Sethi's avatar Varun Sethi Committed by Kumar Gala

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: default avatarVarun Sethi <Varun.Sethi@freescale.com>
Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
parent 7e0f4872
...@@ -75,6 +75,7 @@ _GLOBAL(__setup_cpu_e500v2) ...@@ -75,6 +75,7 @@ _GLOBAL(__setup_cpu_e500v2)
mtlr r4 mtlr r4
blr blr
_GLOBAL(__setup_cpu_e500mc) _GLOBAL(__setup_cpu_e500mc)
_GLOBAL(__setup_cpu_e5500)
mflr r5 mflr r5
bl __e500_icache_setup bl __e500_icache_setup
bl __e500_dcache_setup bl __e500_dcache_setup
...@@ -104,19 +105,17 @@ _GLOBAL(__setup_cpu_e500mc) ...@@ -104,19 +105,17 @@ _GLOBAL(__setup_cpu_e500mc)
mtlr r5 mtlr r5
blr blr
#endif #endif
#ifdef CONFIG_PPC_BOOK3E_64
/* Right now, restore and setup are the same thing */ /* Right now, restore and setup are the same thing */
_GLOBAL(__restore_cpu_e5500) _GLOBAL(__restore_cpu_e5500)
_GLOBAL(__setup_cpu_e5500) _GLOBAL(__setup_cpu_e5500)
mflr r4 mflr r4
bl __e500_icache_setup bl __e500_icache_setup
bl __e500_dcache_setup bl __e500_dcache_setup
#ifdef CONFIG_PPC_BOOK3E_64
bl .__setup_base_ivors bl .__setup_base_ivors
bl .setup_perfmon_ivor bl .setup_perfmon_ivor
bl .setup_doorbell_ivors bl .setup_doorbell_ivors
bl .setup_ehv_ivors bl .setup_ehv_ivors
#else
bl __setup_e500mc_ivors
#endif
mtlr r4 mtlr r4
blr blr
#endif
...@@ -2016,7 +2016,9 @@ static struct cpu_spec __initdata cpu_specs[] = { ...@@ -2016,7 +2016,9 @@ static struct cpu_spec __initdata cpu_specs[] = {
.oprofile_cpu_type = "ppc/e500mc", .oprofile_cpu_type = "ppc/e500mc",
.oprofile_type = PPC_OPROFILE_FSL_EMB, .oprofile_type = PPC_OPROFILE_FSL_EMB,
.cpu_setup = __setup_cpu_e5500, .cpu_setup = __setup_cpu_e5500,
#ifndef CONFIG_PPC32
.cpu_restore = __restore_cpu_e5500, .cpu_restore = __restore_cpu_e5500,
#endif
.machine_check = machine_check_e500mc, .machine_check = machine_check_e500mc,
.platform = "ppce5500", .platform = "ppce5500",
}, },
...@@ -2034,7 +2036,9 @@ static struct cpu_spec __initdata cpu_specs[] = { ...@@ -2034,7 +2036,9 @@ static struct cpu_spec __initdata cpu_specs[] = {
.oprofile_cpu_type = "ppc/e6500", .oprofile_cpu_type = "ppc/e6500",
.oprofile_type = PPC_OPROFILE_FSL_EMB, .oprofile_type = PPC_OPROFILE_FSL_EMB,
.cpu_setup = __setup_cpu_e5500, .cpu_setup = __setup_cpu_e5500,
#ifndef CONFIG_PPC32
.cpu_restore = __restore_cpu_e5500, .cpu_restore = __restore_cpu_e5500,
#endif
.machine_check = machine_check_e500mc, .machine_check = machine_check_e500mc,
.platform = "ppce6500", .platform = "ppce6500",
}, },
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment