diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2011-06-16 17:37:15 +0100 |
---|---|---|
committer | Riku Voipio <riku.voipio@iki.fi> | 2011-06-21 20:30:10 +0300 |
commit | c7b016ba04aa0ba71e068deb24163fb8b4dcd421 (patch) | |
tree | daa04da3cff0de592cf94e6b00bf1f5aeb75d955 | |
parent | 2aec3a27d78075c4b4c44a241f32f27e9a7b9a8a (diff) |
linux-user/signal.c: Remove unused fenab
Remove fenab as it is only written, never used. Add a FIXME
comment about the discrepancy between our behaviour and that
of the Linux kernel for this routine.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Riku Voipio <riku.voipio@iki.fi>
-rw-r--r-- | linux-user/signal.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/linux-user/signal.c b/linux-user/signal.c index 4edd974ce1..7d168e100f 100644 --- a/linux-user/signal.c +++ b/linux-user/signal.c @@ -2228,7 +2228,6 @@ void sparc64_set_context(CPUSPARCState *env) target_mc_gregset_t *grp; abi_ulong pc, npc, tstate; abi_ulong fp, i7, w_addr; - unsigned char fenab; int err; unsigned int i; @@ -2293,7 +2292,11 @@ void sparc64_set_context(CPUSPARCState *env) if (put_user(i7, w_addr + offsetof(struct target_reg_window, ins[7]), abi_ulong) != 0) goto do_sigsegv; - err |= __get_user(fenab, &(ucp->tuc_mcontext.mc_fpregs.mcfpu_enab)); + /* FIXME this does not match how the kernel handles the FPU in + * its sparc64_set_context implementation. In particular the FPU + * is only restored if fenab is non-zero in: + * __get_user(fenab, &(ucp->tuc_mcontext.mc_fpregs.mcfpu_enab)); + */ err |= __get_user(env->fprs, &(ucp->tuc_mcontext.mc_fpregs.mcfpu_fprs)); { uint32_t *src, *dst; |