mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 15:53:54 -06:00
initial MIPS signal handling (initial patch by Raphael Rigo)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2031 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
951f13516a
commit
106ec87921
4 changed files with 376 additions and 3 deletions
|
@ -1302,6 +1302,7 @@ void cpu_loop(CPUMIPSState *env)
|
|||
case EXCP_SYSCALL:
|
||||
{
|
||||
syscall_num = env->gpr[2] - 4000;
|
||||
env->PC += 4;
|
||||
if (syscall_num >= sizeof(mips_syscall_args)) {
|
||||
ret = -ENOSYS;
|
||||
} else {
|
||||
|
@ -1328,7 +1329,6 @@ void cpu_loop(CPUMIPSState *env)
|
|||
arg5,
|
||||
arg6);
|
||||
}
|
||||
env->PC += 4;
|
||||
if ((unsigned int)ret >= (unsigned int)(-1133)) {
|
||||
env->gpr[7] = 1; /* error flag */
|
||||
ret = -ret;
|
||||
|
@ -1347,6 +1347,9 @@ void cpu_loop(CPUMIPSState *env)
|
|||
info.si_code = 0;
|
||||
queue_signal(info.si_signo, &info);
|
||||
break;
|
||||
case EXCP_INTERRUPT:
|
||||
/* just indicate that signals should be handled asap */
|
||||
break;
|
||||
default:
|
||||
// error:
|
||||
fprintf(stderr, "qemu: unhandled CPU exception 0x%x - aborting\n",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue