aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc/kernel/cpu.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/sparc/kernel/cpu.c')
-rw-r--r--arch/sparc/kernel/cpu.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/arch/sparc/kernel/cpu.c b/arch/sparc/kernel/cpu.c
index 2d1819641769..a6c94a2bf9d4 100644
--- a/arch/sparc/kernel/cpu.c
+++ b/arch/sparc/kernel/cpu.c
@@ -121,7 +121,7 @@ static const struct manufacturer_info __initconst manufacturer_info[] = {
121 FPU(-1, NULL) 121 FPU(-1, NULL)
122 } 122 }
123},{ 123},{
124 4, 124 PSR_IMPL_TI,
125 .cpu_info = { 125 .cpu_info = {
126 CPU(0, "Texas Instruments, Inc. - SuperSparc-(II)"), 126 CPU(0, "Texas Instruments, Inc. - SuperSparc-(II)"),
127 /* SparcClassic -- borned STP1010TAB-50*/ 127 /* SparcClassic -- borned STP1010TAB-50*/
@@ -191,7 +191,7 @@ static const struct manufacturer_info __initconst manufacturer_info[] = {
191 FPU(-1, NULL) 191 FPU(-1, NULL)
192 } 192 }
193},{ 193},{
194 0xF, /* Aeroflex Gaisler */ 194 PSR_IMPL_LEON, /* Aeroflex Gaisler */
195 .cpu_info = { 195 .cpu_info = {
196 CPU(3, "LEON"), 196 CPU(3, "LEON"),
197 CPU(-1, NULL) 197 CPU(-1, NULL)
@@ -440,16 +440,16 @@ static int __init cpu_type_probe(void)
440 int psr_impl, psr_vers, fpu_vers; 440 int psr_impl, psr_vers, fpu_vers;
441 int psr; 441 int psr;
442 442
443 psr_impl = ((get_psr() >> 28) & 0xf); 443 psr_impl = ((get_psr() >> PSR_IMPL_SHIFT) & PSR_IMPL_SHIFTED_MASK);
444 psr_vers = ((get_psr() >> 24) & 0xf); 444 psr_vers = ((get_psr() >> PSR_VERS_SHIFT) & PSR_VERS_SHIFTED_MASK);
445 445
446 psr = get_psr(); 446 psr = get_psr();
447 put_psr(psr | PSR_EF); 447 put_psr(psr | PSR_EF);
448#ifdef CONFIG_SPARC_LEON 448
449 fpu_vers = get_psr() & PSR_EF ? ((get_fsr() >> 17) & 0x7) : 7; 449 if (psr_impl == PSR_IMPL_LEON)
450#else 450 fpu_vers = get_psr() & PSR_EF ? ((get_fsr() >> 17) & 0x7) : 7;
451 fpu_vers = ((get_fsr() >> 17) & 0x7); 451 else
452#endif 452 fpu_vers = ((get_fsr() >> 17) & 0x7);
453 453
454 put_psr(psr); 454 put_psr(psr);
455 455