linux-user/nios2: Handle special qemu syscall return values
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>
This commit is contained in:
parent
b3a219b70e
commit
b9ef5b3138
@ -55,6 +55,14 @@ void cpu_loop(CPUNios2State *env)
|
||||
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),
|
||||
|
Loading…
Reference in New Issue
Block a user