|
@@ -121,7 +121,7 @@ static const struct manufacturer_info __initconst manufacturer_info[] = {
|
|
|
FPU(-1, NULL)
|
|
|
}
|
|
|
},{
|
|
|
- 4,
|
|
|
+ PSR_IMPL_TI,
|
|
|
.cpu_info = {
|
|
|
CPU(0, "Texas Instruments, Inc. - SuperSparc-(II)"),
|
|
|
/* SparcClassic -- borned STP1010TAB-50*/
|
|
@@ -191,7 +191,7 @@ static const struct manufacturer_info __initconst manufacturer_info[] = {
|
|
|
FPU(-1, NULL)
|
|
|
}
|
|
|
},{
|
|
|
- 0xF, /* Aeroflex Gaisler */
|
|
|
+ PSR_IMPL_LEON, /* Aeroflex Gaisler */
|
|
|
.cpu_info = {
|
|
|
CPU(3, "LEON"),
|
|
|
CPU(-1, NULL)
|
|
@@ -440,16 +440,16 @@ static int __init cpu_type_probe(void)
|
|
|
int psr_impl, psr_vers, fpu_vers;
|
|
|
int psr;
|
|
|
|
|
|
- psr_impl = ((get_psr() >> 28) & 0xf);
|
|
|
- psr_vers = ((get_psr() >> 24) & 0xf);
|
|
|
+ psr_impl = ((get_psr() >> PSR_IMPL_SHIFT) & PSR_IMPL_SHIFTED_MASK);
|
|
|
+ psr_vers = ((get_psr() >> PSR_VERS_SHIFT) & PSR_VERS_SHIFTED_MASK);
|
|
|
|
|
|
psr = get_psr();
|
|
|
put_psr(psr | PSR_EF);
|
|
|
-#ifdef CONFIG_SPARC_LEON
|
|
|
- fpu_vers = get_psr() & PSR_EF ? ((get_fsr() >> 17) & 0x7) : 7;
|
|
|
-#else
|
|
|
- fpu_vers = ((get_fsr() >> 17) & 0x7);
|
|
|
-#endif
|
|
|
+
|
|
|
+ if (psr_impl == PSR_IMPL_LEON)
|
|
|
+ fpu_vers = get_psr() & PSR_EF ? ((get_fsr() >> 17) & 0x7) : 7;
|
|
|
+ else
|
|
|
+ fpu_vers = ((get_fsr() >> 17) & 0x7);
|
|
|
|
|
|
put_psr(psr);
|
|
|
|