[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 34/59] linux-user/s390x: Use uint16_t for signal retcode
From: |
Laurent Vivier |
Subject: |
[PULL 34/59] linux-user/s390x: Use uint16_t for signal retcode |
Date: |
Mon, 17 May 2021 20:13:59 +0200 |
From: Richard Henderson <richard.henderson@linaro.org>
Using the right type simplifies the frame setup.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: David Hildenbrand <david@redhat.com>
Message-Id: <20210428193408.233706-3-richard.henderson@linaro.org>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
---
linux-user/s390x/signal.c | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/linux-user/s390x/signal.c b/linux-user/s390x/signal.c
index 707fb603d72e..fece8ab97b3c 100644
--- a/linux-user/s390x/signal.c
+++ b/linux-user/s390x/signal.c
@@ -25,7 +25,6 @@
#define __NUM_FPRS 16
#define __NUM_ACRS 16
-#define S390_SYSCALL_SIZE 2
#define __SIGNAL_FRAMESIZE 160 /* FIXME: 31-bit mode -> 96 */
#define _SIGCONTEXT_NSIG 64
@@ -62,7 +61,7 @@ typedef struct {
target_sigcontext sc;
target_sigregs sregs;
int signo;
- uint8_t retcode[S390_SYSCALL_SIZE];
+ uint16_t retcode;
} sigframe;
struct target_ucontext {
@@ -75,7 +74,7 @@ struct target_ucontext {
typedef struct {
uint8_t callee_used_stack[__SIGNAL_FRAMESIZE];
- uint8_t retcode[S390_SYSCALL_SIZE];
+ uint16_t retcode;
struct target_siginfo info;
struct target_ucontext uc;
} rt_sigframe;
@@ -155,7 +154,7 @@ void setup_frame(int sig, struct target_sigaction *ka,
env->regs[14] = (frame_addr + offsetof(sigframe, retcode))
| PSW_ADDR_AMODE;
__put_user(S390_SYSCALL_OPCODE | TARGET_NR_sigreturn,
- (uint16_t *)(frame->retcode));
+ &frame->retcode);
}
/* Set up backchain. */
@@ -216,7 +215,7 @@ void setup_rt_frame(int sig, struct target_sigaction *ka,
env->regs[14] = (frame_addr + offsetof(typeof(*frame), retcode))
| PSW_ADDR_AMODE;
__put_user(S390_SYSCALL_OPCODE | TARGET_NR_rt_sigreturn,
- (uint16_t *)(frame->retcode));
+ &frame->retcode);
}
/* Set up backchain. */
--
2.31.1
- [PULL 18/59] linux-user/sparc: Merge sparc64/ into sparc/, (continued)
- [PULL 18/59] linux-user/sparc: Merge sparc64/ into sparc/, Laurent Vivier, 2021/05/17
- [PULL 30/59] linux-user/sparc: Implement sparc32 rt signals, Laurent Vivier, 2021/05/17
- [PULL 32/59] tests/tcg/sparc64: Re-enable linux-test, Laurent Vivier, 2021/05/17
- [PULL 28/59] linux-user/sparc: Minor corrections to do_sigreturn, Laurent Vivier, 2021/05/17
- [PULL 36/59] linux-user/s390x: Remove restore_sigregs return value, Laurent Vivier, 2021/05/17
- [PULL 37/59] linux-user/s390x: Fix trace in restore_regs, Laurent Vivier, 2021/05/17
- [PULL 23/59] linux-user/sparc: Split out save_reg_win, Laurent Vivier, 2021/05/17
- [PULL 27/59] linux-user/sparc: Clean up setup_frame, Laurent Vivier, 2021/05/17
- [PULL 26/59] linux-user/sparc: Add rwin_save to signal frame, Laurent Vivier, 2021/05/17
- [PULL 33/59] linux-user/s390x: Fix sigframe types, Laurent Vivier, 2021/05/17
- [PULL 34/59] linux-user/s390x: Use uint16_t for signal retcode,
Laurent Vivier <=
- [PULL 45/59] linux-user/s390x: Add build asserts for sigset sizes, Laurent Vivier, 2021/05/17
- [PULL 24/59] linux-user/sparc: Clean up get_sigframe, Laurent Vivier, 2021/05/17
- [PULL 58/59] linux-user/elfload: fix filling psinfo->pr_psargs, Laurent Vivier, 2021/05/17
- [PULL 39/59] linux-user/s390x: Use tswap_sigset in setup_rt_frame, Laurent Vivier, 2021/05/17
- [PULL 31/59] linux-user/sparc: Implement sparc64 rt signals, Laurent Vivier, 2021/05/17
- [PULL 35/59] linux-user/s390x: Remove PSW_ADDR_AMODE, Laurent Vivier, 2021/05/17
- [PULL 40/59] linux-user/s390x: Tidy save_sigregs, Laurent Vivier, 2021/05/17
- [PULL 43/59] linux-user/s390x: Add stub sigframe argument for last_break, Laurent Vivier, 2021/05/17
- [PULL 46/59] linux-user/s390x: Clean up signal.c, Laurent Vivier, 2021/05/17
- [PULL 42/59] linux-user/s390x: Set psw.mask properly for the signal handler, Laurent Vivier, 2021/05/17