Message ID | 20210428193408.233706-9-richard.henderson@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | linux-user/s390x: some signal fixes | expand |
On 28.04.21 21:34, Richard Henderson wrote: > The "save" routines copied from the kernel, which are currently > commented out, are unnecessary in qemu. We can copy from env > where the kernel needs special instructions. Fix comment style. > > Signed-off-by: Richard Henderson <richard.henderson@linaro.org> > --- > linux-user/s390x/signal.c | 10 ++++++---- > 1 file changed, 6 insertions(+), 4 deletions(-) > > diff --git a/linux-user/s390x/signal.c b/linux-user/s390x/signal.c > index 4dde55d4d5..eabfe4293f 100644 > --- a/linux-user/s390x/signal.c > +++ b/linux-user/s390x/signal.c > @@ -104,23 +104,25 @@ get_sigframe(struct target_sigaction *ka, CPUS390XState *env, size_t frame_size) > static void save_sigregs(CPUS390XState *env, target_sigregs *sregs) > { > int i; > - //save_access_regs(current->thread.acrs); FIXME > > - /* Copy a 'clean' PSW mask to the user to avoid leaking > - information about whether PER is currently on. */ > + /* > + * Copy a 'clean' PSW mask to the user to avoid leaking > + * information about whether PER is currently on. > + */ > __put_user(env->psw.mask, &sregs->regs.psw.mask); > __put_user(env->psw.addr, &sregs->regs.psw.addr); > + > for (i = 0; i < 16; i++) { > __put_user(env->regs[i], &sregs->regs.gprs[i]); > } > for (i = 0; i < 16; i++) { > __put_user(env->aregs[i], &sregs->regs.acrs[i]); > } > + > /* > * We have to store the fp registers to current->thread.fp_regs > * to merge them with the emulated registers. > */ > - //save_fp_regs(¤t->thread.fp_regs); FIXME > for (i = 0; i < 16; i++) { > __put_user(*get_freg(env, i), &sregs->fpregs.fprs[i]); > } > Reviewed-by: David Hildenbrand <david@redhat.com> -- Thanks, David / dhildenb
diff --git a/linux-user/s390x/signal.c b/linux-user/s390x/signal.c index 4dde55d4d5..eabfe4293f 100644 --- a/linux-user/s390x/signal.c +++ b/linux-user/s390x/signal.c @@ -104,23 +104,25 @@ get_sigframe(struct target_sigaction *ka, CPUS390XState *env, size_t frame_size) static void save_sigregs(CPUS390XState *env, target_sigregs *sregs) { int i; - //save_access_regs(current->thread.acrs); FIXME - /* Copy a 'clean' PSW mask to the user to avoid leaking - information about whether PER is currently on. */ + /* + * Copy a 'clean' PSW mask to the user to avoid leaking + * information about whether PER is currently on. + */ __put_user(env->psw.mask, &sregs->regs.psw.mask); __put_user(env->psw.addr, &sregs->regs.psw.addr); + for (i = 0; i < 16; i++) { __put_user(env->regs[i], &sregs->regs.gprs[i]); } for (i = 0; i < 16; i++) { __put_user(env->aregs[i], &sregs->regs.acrs[i]); } + /* * We have to store the fp registers to current->thread.fp_regs * to merge them with the emulated registers. */ - //save_fp_regs(¤t->thread.fp_regs); FIXME for (i = 0; i < 16; i++) { __put_user(*get_freg(env, i), &sregs->fpregs.fprs[i]); }
The "save" routines copied from the kernel, which are currently commented out, are unnecessary in qemu. We can copy from env where the kernel needs special instructions. Fix comment style. Signed-off-by: Richard Henderson <richard.henderson@linaro.org> --- linux-user/s390x/signal.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) -- 2.25.1