summaryrefslogtreecommitdiff
path: root/linux-user
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2011-06-16 17:37:15 +0100
committerRiku Voipio <riku.voipio@iki.fi>2011-06-21 20:30:10 +0300
commitd21f6c8b1fb39b1edf725f96e4b918ffd66bf904 (patch)
treedaa04da3cff0de592cf94e6b00bf1f5aeb75d955 /linux-user
parent7c14e1cf1a237bcc3afa2a21ccf986e0bc1fa9d8 (diff)
downloadqemu-d21f6c8b1fb39b1edf725f96e4b918ffd66bf904.tar.gz
qemu-d21f6c8b1fb39b1edf725f96e4b918ffd66bf904.tar.bz2
qemu-d21f6c8b1fb39b1edf725f96e4b918ffd66bf904.zip
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>
Diffstat (limited to 'linux-user')
-rw-r--r--linux-user/signal.c7
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;