@@ -45,9 +45,8 @@ uint32_t helper_fp_exc_get(CPUAlphaState *env)
}
static inline void fp_exc_raise1(CPUAlphaState *env, uintptr_t retaddr,
- uint32_t exc, uint32_t regno)
+ uint32_t exc, uint32_t regno, uint32_t hw_exc)
{
- uint32_t hw_exc = 0;
if (exc & float_flag_invalid) {
hw_exc |= EXC_M_INV;
}
@@ -93,7 +92,7 @@ void helper_fp_exc_raise_s(CPUAlphaState *env, uint32_t ignore, uint32_t regno)
exc &= ~ignore;
if (exc) {
exc &= ~env->fpcr_exc_mask;
- fp_exc_raise1(env, GETPC(), exc, regno);
+ fp_exc_raise1(env, GETPC(), exc, regno, EXC_M_SWC);
}
}
}
Previously forgotten, the kernel needs the software completion bit to know that it needs to emulate software completion qualified insns. Reported-by: Al Viro <viro@ZenIV.linux.org.uk> Signed-off-by: Richard Henderson <rth@twiddle.net> --- target-alpha/fpu_helper.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)