[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 4/6] linux-user: correctly manage SR in ucontext
From: |
Laurent Vivier |
Subject: |
[Qemu-devel] [PULL 4/6] linux-user: correctly manage SR in ucontext |
Date: |
Mon, 27 Feb 2017 23:33:35 +0100 |
Use cpu_m68k_get_ccr()/cpu_m68k_set_ccr() to setup and restore correctly
the value of SR in the ucontext structure
Signed-off-by: Laurent Vivier <address@hidden>
Message-Id: <address@hidden>
---
linux-user/signal.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/linux-user/signal.c b/linux-user/signal.c
index 5dae87e..99adfc2 100644
--- a/linux-user/signal.c
+++ b/linux-user/signal.c
@@ -5676,6 +5676,7 @@ static inline int target_rt_setup_ucontext(struct
target_ucontext *uc,
CPUM68KState *env)
{
target_greg_t *gregs = uc->tuc_mcontext.gregs;
+ uint32_t sr = cpu_m68k_get_ccr(env);
__put_user(TARGET_MCONTEXT_VERSION, &uc->tuc_mcontext.version);
__put_user(env->dregs[0], &gregs[0]);
@@ -5695,7 +5696,7 @@ static inline int target_rt_setup_ucontext(struct
target_ucontext *uc,
__put_user(env->aregs[6], &gregs[14]);
__put_user(env->aregs[7], &gregs[15]);
__put_user(env->pc, &gregs[16]);
- __put_user(env->sr, &gregs[17]);
+ __put_user(sr, &gregs[17]);
return 0;
}
@@ -5729,7 +5730,7 @@ static inline int target_rt_restore_ucontext(CPUM68KState
*env,
__get_user(env->aregs[7], &gregs[15]);
__get_user(env->pc, &gregs[16]);
__get_user(temp, &gregs[17]);
- env->sr = (env->sr & 0xff00) | (temp & 0xff);
+ cpu_m68k_set_ccr(env, temp);
return 0;
--
2.9.3
- [Qemu-devel] [PULL 0/6] Linux user for upstream patches, Laurent Vivier, 2017/02/27
- [Qemu-devel] [PULL 1/6] linux-user: fix fork(), Laurent Vivier, 2017/02/27
- [Qemu-devel] [PULL 2/6] linux-user: Add sockopts for IPv6 ping and IPv6 traceroute, Laurent Vivier, 2017/02/27
- [Qemu-devel] [PULL 4/6] linux-user: correctly manage SR in ucontext,
Laurent Vivier <=
- [Qemu-devel] [PULL 3/6] linux-user: Add signal handling support for x86_64, Laurent Vivier, 2017/02/27
- [Qemu-devel] [PULL 5/6] linux-user: fix do_rt_sigreturn on m68k linux userspace emulation, Laurent Vivier, 2017/02/27
- [Qemu-devel] [PULL 6/6] syscall: fixed mincore(2) not failing with ENOMEM, Laurent Vivier, 2017/02/27
- Re: [Qemu-devel] [PULL 0/6] Linux user for upstream patches, Peter Maydell, 2017/02/28