Honor QEMU_ESIGRETURN and QEMU_ERESTARTSYS.
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <
20220421151735.31996-6-richard.henderson@linaro.org>
env->regs[7], env->regs[8], env->regs[9],
0, 0);
+ if (ret == -QEMU_ESIGRETURN) {
+ /* rt_sigreturn has set all state. */
+ break;
+ }
+ if (ret == -QEMU_ERESTARTSYS) {
+ env->regs[R_PC] -= 4;
+ break;
+ }
/*
* See the code after translate_rc_and_ret: all negative
* values are errors (aided by userspace restricted to 2G),