[PATCH] powerpc: remove do-nothing cpu setup routines
Removed the do-nothing routines __setup_cpu_power3 and __setup_cpu_power4 and replaced them with a null pointer check in the caller. Also removed the Cell processor specific routine __setup_cpu_be which improperly accessed the hypervisor page size configuration at SPR HID6. Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:
committed by
Paul Mackerras
parent
4240545661
commit
b26f100d89
@@ -73,23 +73,6 @@ _GLOBAL(__970_cpu_preinit)
|
|||||||
isync
|
isync
|
||||||
blr
|
blr
|
||||||
|
|
||||||
_GLOBAL(__setup_cpu_power4)
|
|
||||||
blr
|
|
||||||
|
|
||||||
_GLOBAL(__setup_cpu_be)
|
|
||||||
/* Set large page sizes LP=0: 16MB, LP=1: 64KB */
|
|
||||||
addi r3, 0, 0
|
|
||||||
ori r3, r3, HID6_LB
|
|
||||||
sldi r3, r3, 32
|
|
||||||
nor r3, r3, r3
|
|
||||||
mfspr r4, SPRN_HID6
|
|
||||||
and r4, r4, r3
|
|
||||||
addi r3, 0, 0x02000
|
|
||||||
sldi r3, r3, 32
|
|
||||||
or r4, r4, r3
|
|
||||||
mtspr SPRN_HID6, r4
|
|
||||||
blr
|
|
||||||
|
|
||||||
_GLOBAL(__setup_cpu_ppc970)
|
_GLOBAL(__setup_cpu_ppc970)
|
||||||
mfspr r0,SPRN_HID0
|
mfspr r0,SPRN_HID0
|
||||||
li r11,5 /* clear DOZE and SLEEP */
|
li r11,5 /* clear DOZE and SLEEP */
|
||||||
|
@@ -30,11 +30,7 @@ EXPORT_SYMBOL(cur_cpu_spec);
|
|||||||
* part of the cputable though. That has to be fixed for both ppc32
|
* part of the cputable though. That has to be fixed for both ppc32
|
||||||
* and ppc64
|
* and ppc64
|
||||||
*/
|
*/
|
||||||
#ifdef CONFIG_PPC64
|
#ifdef CONFIG_PPC32
|
||||||
extern void __setup_cpu_power3(unsigned long offset, struct cpu_spec* spec);
|
|
||||||
extern void __setup_cpu_power4(unsigned long offset, struct cpu_spec* spec);
|
|
||||||
extern void __setup_cpu_be(unsigned long offset, struct cpu_spec* spec);
|
|
||||||
#else
|
|
||||||
extern void __setup_cpu_603(unsigned long offset, struct cpu_spec* spec);
|
extern void __setup_cpu_603(unsigned long offset, struct cpu_spec* spec);
|
||||||
extern void __setup_cpu_604(unsigned long offset, struct cpu_spec* spec);
|
extern void __setup_cpu_604(unsigned long offset, struct cpu_spec* spec);
|
||||||
extern void __setup_cpu_750(unsigned long offset, struct cpu_spec* spec);
|
extern void __setup_cpu_750(unsigned long offset, struct cpu_spec* spec);
|
||||||
@@ -82,7 +78,6 @@ struct cpu_spec cpu_specs[] = {
|
|||||||
.icache_bsize = 128,
|
.icache_bsize = 128,
|
||||||
.dcache_bsize = 128,
|
.dcache_bsize = 128,
|
||||||
.num_pmcs = 8,
|
.num_pmcs = 8,
|
||||||
.cpu_setup = __setup_cpu_power3,
|
|
||||||
.oprofile_cpu_type = "ppc64/power3",
|
.oprofile_cpu_type = "ppc64/power3",
|
||||||
.oprofile_type = PPC_OPROFILE_RS64,
|
.oprofile_type = PPC_OPROFILE_RS64,
|
||||||
.platform = "power3",
|
.platform = "power3",
|
||||||
@@ -96,7 +91,6 @@ struct cpu_spec cpu_specs[] = {
|
|||||||
.icache_bsize = 128,
|
.icache_bsize = 128,
|
||||||
.dcache_bsize = 128,
|
.dcache_bsize = 128,
|
||||||
.num_pmcs = 8,
|
.num_pmcs = 8,
|
||||||
.cpu_setup = __setup_cpu_power3,
|
|
||||||
.oprofile_cpu_type = "ppc64/power3",
|
.oprofile_cpu_type = "ppc64/power3",
|
||||||
.oprofile_type = PPC_OPROFILE_RS64,
|
.oprofile_type = PPC_OPROFILE_RS64,
|
||||||
.platform = "power3",
|
.platform = "power3",
|
||||||
@@ -110,7 +104,6 @@ struct cpu_spec cpu_specs[] = {
|
|||||||
.icache_bsize = 128,
|
.icache_bsize = 128,
|
||||||
.dcache_bsize = 128,
|
.dcache_bsize = 128,
|
||||||
.num_pmcs = 8,
|
.num_pmcs = 8,
|
||||||
.cpu_setup = __setup_cpu_power3,
|
|
||||||
.oprofile_cpu_type = "ppc64/rs64",
|
.oprofile_cpu_type = "ppc64/rs64",
|
||||||
.oprofile_type = PPC_OPROFILE_RS64,
|
.oprofile_type = PPC_OPROFILE_RS64,
|
||||||
.platform = "rs64",
|
.platform = "rs64",
|
||||||
@@ -124,7 +117,6 @@ struct cpu_spec cpu_specs[] = {
|
|||||||
.icache_bsize = 128,
|
.icache_bsize = 128,
|
||||||
.dcache_bsize = 128,
|
.dcache_bsize = 128,
|
||||||
.num_pmcs = 8,
|
.num_pmcs = 8,
|
||||||
.cpu_setup = __setup_cpu_power3,
|
|
||||||
.oprofile_cpu_type = "ppc64/rs64",
|
.oprofile_cpu_type = "ppc64/rs64",
|
||||||
.oprofile_type = PPC_OPROFILE_RS64,
|
.oprofile_type = PPC_OPROFILE_RS64,
|
||||||
.platform = "rs64",
|
.platform = "rs64",
|
||||||
@@ -138,7 +130,6 @@ struct cpu_spec cpu_specs[] = {
|
|||||||
.icache_bsize = 128,
|
.icache_bsize = 128,
|
||||||
.dcache_bsize = 128,
|
.dcache_bsize = 128,
|
||||||
.num_pmcs = 8,
|
.num_pmcs = 8,
|
||||||
.cpu_setup = __setup_cpu_power3,
|
|
||||||
.oprofile_cpu_type = "ppc64/rs64",
|
.oprofile_cpu_type = "ppc64/rs64",
|
||||||
.oprofile_type = PPC_OPROFILE_RS64,
|
.oprofile_type = PPC_OPROFILE_RS64,
|
||||||
.platform = "rs64",
|
.platform = "rs64",
|
||||||
@@ -152,7 +143,6 @@ struct cpu_spec cpu_specs[] = {
|
|||||||
.icache_bsize = 128,
|
.icache_bsize = 128,
|
||||||
.dcache_bsize = 128,
|
.dcache_bsize = 128,
|
||||||
.num_pmcs = 8,
|
.num_pmcs = 8,
|
||||||
.cpu_setup = __setup_cpu_power3,
|
|
||||||
.oprofile_cpu_type = "ppc64/rs64",
|
.oprofile_cpu_type = "ppc64/rs64",
|
||||||
.oprofile_type = PPC_OPROFILE_RS64,
|
.oprofile_type = PPC_OPROFILE_RS64,
|
||||||
.platform = "rs64",
|
.platform = "rs64",
|
||||||
@@ -166,7 +156,6 @@ struct cpu_spec cpu_specs[] = {
|
|||||||
.icache_bsize = 128,
|
.icache_bsize = 128,
|
||||||
.dcache_bsize = 128,
|
.dcache_bsize = 128,
|
||||||
.num_pmcs = 8,
|
.num_pmcs = 8,
|
||||||
.cpu_setup = __setup_cpu_power4,
|
|
||||||
.oprofile_cpu_type = "ppc64/power4",
|
.oprofile_cpu_type = "ppc64/power4",
|
||||||
.oprofile_type = PPC_OPROFILE_POWER4,
|
.oprofile_type = PPC_OPROFILE_POWER4,
|
||||||
.platform = "power4",
|
.platform = "power4",
|
||||||
@@ -180,7 +169,6 @@ struct cpu_spec cpu_specs[] = {
|
|||||||
.icache_bsize = 128,
|
.icache_bsize = 128,
|
||||||
.dcache_bsize = 128,
|
.dcache_bsize = 128,
|
||||||
.num_pmcs = 8,
|
.num_pmcs = 8,
|
||||||
.cpu_setup = __setup_cpu_power4,
|
|
||||||
.oprofile_cpu_type = "ppc64/power4",
|
.oprofile_cpu_type = "ppc64/power4",
|
||||||
.oprofile_type = PPC_OPROFILE_POWER4,
|
.oprofile_type = PPC_OPROFILE_POWER4,
|
||||||
.platform = "power4",
|
.platform = "power4",
|
||||||
@@ -246,7 +234,6 @@ struct cpu_spec cpu_specs[] = {
|
|||||||
.icache_bsize = 128,
|
.icache_bsize = 128,
|
||||||
.dcache_bsize = 128,
|
.dcache_bsize = 128,
|
||||||
.num_pmcs = 6,
|
.num_pmcs = 6,
|
||||||
.cpu_setup = __setup_cpu_power4,
|
|
||||||
.oprofile_cpu_type = "ppc64/power5",
|
.oprofile_cpu_type = "ppc64/power5",
|
||||||
.oprofile_type = PPC_OPROFILE_POWER4,
|
.oprofile_type = PPC_OPROFILE_POWER4,
|
||||||
.platform = "power5",
|
.platform = "power5",
|
||||||
@@ -260,7 +247,6 @@ struct cpu_spec cpu_specs[] = {
|
|||||||
.icache_bsize = 128,
|
.icache_bsize = 128,
|
||||||
.dcache_bsize = 128,
|
.dcache_bsize = 128,
|
||||||
.num_pmcs = 6,
|
.num_pmcs = 6,
|
||||||
.cpu_setup = __setup_cpu_power4,
|
|
||||||
.oprofile_cpu_type = "ppc64/power5+",
|
.oprofile_cpu_type = "ppc64/power5+",
|
||||||
.oprofile_type = PPC_OPROFILE_POWER4,
|
.oprofile_type = PPC_OPROFILE_POWER4,
|
||||||
.platform = "power5+",
|
.platform = "power5+",
|
||||||
@@ -274,7 +260,6 @@ struct cpu_spec cpu_specs[] = {
|
|||||||
.icache_bsize = 128,
|
.icache_bsize = 128,
|
||||||
.dcache_bsize = 128,
|
.dcache_bsize = 128,
|
||||||
.num_pmcs = 6,
|
.num_pmcs = 6,
|
||||||
.cpu_setup = __setup_cpu_power4,
|
|
||||||
.oprofile_cpu_type = "ppc64/power6",
|
.oprofile_cpu_type = "ppc64/power6",
|
||||||
.oprofile_type = PPC_OPROFILE_POWER4,
|
.oprofile_type = PPC_OPROFILE_POWER4,
|
||||||
.platform = "power6",
|
.platform = "power6",
|
||||||
@@ -289,7 +274,6 @@ struct cpu_spec cpu_specs[] = {
|
|||||||
PPC_FEATURE_SMT,
|
PPC_FEATURE_SMT,
|
||||||
.icache_bsize = 128,
|
.icache_bsize = 128,
|
||||||
.dcache_bsize = 128,
|
.dcache_bsize = 128,
|
||||||
.cpu_setup = __setup_cpu_be,
|
|
||||||
.platform = "ppc-cell-be",
|
.platform = "ppc-cell-be",
|
||||||
},
|
},
|
||||||
{ /* default match */
|
{ /* default match */
|
||||||
@@ -301,7 +285,6 @@ struct cpu_spec cpu_specs[] = {
|
|||||||
.icache_bsize = 128,
|
.icache_bsize = 128,
|
||||||
.dcache_bsize = 128,
|
.dcache_bsize = 128,
|
||||||
.num_pmcs = 6,
|
.num_pmcs = 6,
|
||||||
.cpu_setup = __setup_cpu_power4,
|
|
||||||
.platform = "power4",
|
.platform = "power4",
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_PPC64 */
|
#endif /* CONFIG_PPC64 */
|
||||||
|
@@ -216,7 +216,7 @@ _GLOBAL(call_setup_cpu)
|
|||||||
lwz r4,0(r4)
|
lwz r4,0(r4)
|
||||||
add r4,r4,r3
|
add r4,r4,r3
|
||||||
lwz r5,CPU_SPEC_SETUP(r4)
|
lwz r5,CPU_SPEC_SETUP(r4)
|
||||||
cmpi 0,r5,0
|
cmpwi 0,r5,0
|
||||||
add r5,r5,r3
|
add r5,r5,r3
|
||||||
beqlr
|
beqlr
|
||||||
mtctr r5
|
mtctr r5
|
||||||
|
@@ -482,7 +482,9 @@ _GLOBAL(identify_cpu)
|
|||||||
sub r0,r3,r5
|
sub r0,r3,r5
|
||||||
std r0,0(r4)
|
std r0,0(r4)
|
||||||
ld r4,CPU_SPEC_SETUP(r3)
|
ld r4,CPU_SPEC_SETUP(r3)
|
||||||
|
cmpdi 0,r4,0
|
||||||
add r4,r4,r5
|
add r4,r4,r5
|
||||||
|
beqlr
|
||||||
ld r4,0(r4)
|
ld r4,0(r4)
|
||||||
add r4,r4,r5
|
add r4,r4,r5
|
||||||
mtctr r4
|
mtctr r4
|
||||||
@@ -768,9 +770,6 @@ _GLOBAL(giveup_altivec)
|
|||||||
|
|
||||||
#endif /* CONFIG_ALTIVEC */
|
#endif /* CONFIG_ALTIVEC */
|
||||||
|
|
||||||
_GLOBAL(__setup_cpu_power3)
|
|
||||||
blr
|
|
||||||
|
|
||||||
_GLOBAL(execve)
|
_GLOBAL(execve)
|
||||||
li r0,__NR_execve
|
li r0,__NR_execve
|
||||||
sc
|
sc
|
||||||
|
Reference in New Issue
Block a user