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>
This commit is contained in:
Родитель
7e0f4872a3
Коммит
2c71b0cc4a
|
@ -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)
|
||||||
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[] = {
|
||||||
.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[] = {
|
||||||
.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",
|
||||||
},
|
},
|
||||||
|
|
Загрузка…
Ссылка в новой задаче