aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/math-emu
diff options
context:
space:
mode:
authorLiu Yu <yu.liu@freescale.com>2011-09-05 05:01:23 -0400
committerKumar Gala <galak@kernel.crashing.org>2011-10-07 00:36:47 -0400
commit09af52f78e58d9aee0980276833bf3adee3ed07b (patch)
treea71bbba58931e4756b8aef9bc71dc81e1da839e5 /arch/powerpc/math-emu
parentd5755e6f3a412f012377e28b655d89eff3311f1c (diff)
powerpc/math_emu/efp: Look for errata handler when type mismatches
We already have cpu a005 errata handler when instruction cannot be recognized. Before we lookup the inst, there's type checking, and we also need to handle it in errata handler when the type checking failed. Signed-off-by: Liu Yu <yu.liu@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/math-emu')
-rw-r--r--arch/powerpc/math-emu/math_efp.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/arch/powerpc/math-emu/math_efp.c b/arch/powerpc/math-emu/math_efp.c
index 96dbbae1a590..a73f0884d358 100644
--- a/arch/powerpc/math-emu/math_efp.c
+++ b/arch/powerpc/math-emu/math_efp.c
@@ -171,10 +171,6 @@ static unsigned long insn_type(unsigned long speinsn)
171 case EFDNABS: ret = XA; break; 171 case EFDNABS: ret = XA; break;
172 case EFDNEG: ret = XA; break; 172 case EFDNEG: ret = XA; break;
173 case EFDSUB: ret = AB; break; 173 case EFDSUB: ret = AB; break;
174
175 default:
176 printk(KERN_ERR "\nOoops! SPE instruction no type found.");
177 printk(KERN_ERR "\ninst code: %08lx\n", speinsn);
178 } 174 }
179 175
180 return ret; 176 return ret;
@@ -195,7 +191,7 @@ int do_spe_mathemu(struct pt_regs *regs)
195 191
196 type = insn_type(speinsn); 192 type = insn_type(speinsn);
197 if (type == NOTYPE) 193 if (type == NOTYPE)
198 return -ENOSYS; 194 goto illegal;
199 195
200 func = speinsn & 0x7ff; 196 func = speinsn & 0x7ff;
201 fc = (speinsn >> 21) & 0x1f; 197 fc = (speinsn >> 21) & 0x1f;