diff options
Diffstat (limited to 'arch/powerpc/math-emu/math.c')
-rw-r--r-- | arch/powerpc/math-emu/math.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/arch/powerpc/math-emu/math.c b/arch/powerpc/math-emu/math.c index 29e545e0272e..164d55935bd8 100644 --- a/arch/powerpc/math-emu/math.c +++ b/arch/powerpc/math-emu/math.c | |||
@@ -8,8 +8,8 @@ | |||
8 | #include <asm/uaccess.h> | 8 | #include <asm/uaccess.h> |
9 | #include <asm/reg.h> | 9 | #include <asm/reg.h> |
10 | 10 | ||
11 | #include "sfp-machine.h" | 11 | #include <asm/sfp-machine.h> |
12 | #include "double.h" | 12 | #include <math-emu/double.h> |
13 | 13 | ||
14 | #define FLOATFUNC(x) extern int x(void *, void *, void *, void *) | 14 | #define FLOATFUNC(x) extern int x(void *, void *, void *, void *) |
15 | 15 | ||
@@ -168,6 +168,8 @@ record_exception(struct pt_regs *regs, int eflag) | |||
168 | fpscr |= FPSCR_ZX; | 168 | fpscr |= FPSCR_ZX; |
169 | if (eflag & EFLAG_INEXACT) | 169 | if (eflag & EFLAG_INEXACT) |
170 | fpscr |= FPSCR_XX; | 170 | fpscr |= FPSCR_XX; |
171 | if (eflag & EFLAG_INVALID) | ||
172 | fpscr |= FPSCR_VX; | ||
171 | if (eflag & EFLAG_VXSNAN) | 173 | if (eflag & EFLAG_VXSNAN) |
172 | fpscr |= FPSCR_VXSNAN; | 174 | fpscr |= FPSCR_VXSNAN; |
173 | if (eflag & EFLAG_VXISI) | 175 | if (eflag & EFLAG_VXISI) |
@@ -188,7 +190,7 @@ record_exception(struct pt_regs *regs, int eflag) | |||
188 | fpscr |= FPSCR_VXCVI; | 190 | fpscr |= FPSCR_VXCVI; |
189 | } | 191 | } |
190 | 192 | ||
191 | fpscr &= ~(FPSCR_VX); | 193 | // fpscr &= ~(FPSCR_VX); |
192 | if (fpscr & (FPSCR_VXSNAN | FPSCR_VXISI | FPSCR_VXIDI | | 194 | if (fpscr & (FPSCR_VXSNAN | FPSCR_VXISI | FPSCR_VXIDI | |
193 | FPSCR_VXZDZ | FPSCR_VXIMZ | FPSCR_VXVC | | 195 | FPSCR_VXZDZ | FPSCR_VXIMZ | FPSCR_VXVC | |
194 | FPSCR_VXSOFT | FPSCR_VXSQRT | FPSCR_VXCVI)) | 196 | FPSCR_VXSOFT | FPSCR_VXSQRT | FPSCR_VXCVI)) |