ppc: Stop dumping state on all exceptions in linux-user
Other archs don't do it, some programs catch signals just fine and those dumps just clutter the output. Keep the dumps for cases that aren't supposed to happen such as unknown codes. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
parent
ba4a8df83f
commit
4f5d326046
@ -1651,8 +1651,6 @@ void cpu_loop(CPUPPCState *env)
|
||||
"Aborting\n");
|
||||
break;
|
||||
case POWERPC_EXCP_DSI: /* Data storage exception */
|
||||
EXCP_DUMP(env, "Invalid data memory access: 0x" TARGET_FMT_lx "\n",
|
||||
env->spr[SPR_DAR]);
|
||||
/* XXX: check this. Seems bugged */
|
||||
switch (env->error_code & 0xFF000000) {
|
||||
case 0x40000000:
|
||||
@ -1684,8 +1682,6 @@ void cpu_loop(CPUPPCState *env)
|
||||
queue_signal(env, info.si_signo, &info);
|
||||
break;
|
||||
case POWERPC_EXCP_ISI: /* Instruction storage exception */
|
||||
EXCP_DUMP(env, "Invalid instruction fetch: 0x\n" TARGET_FMT_lx
|
||||
"\n", env->spr[SPR_SRR0]);
|
||||
/* XXX: check this */
|
||||
switch (env->error_code & 0xFF000000) {
|
||||
case 0x40000000:
|
||||
@ -1716,7 +1712,6 @@ void cpu_loop(CPUPPCState *env)
|
||||
"Aborting\n");
|
||||
break;
|
||||
case POWERPC_EXCP_ALIGN: /* Alignment exception */
|
||||
EXCP_DUMP(env, "Unaligned memory access\n");
|
||||
/* XXX: check this */
|
||||
info.si_signo = TARGET_SIGBUS;
|
||||
info.si_errno = 0;
|
||||
@ -1729,7 +1724,6 @@ void cpu_loop(CPUPPCState *env)
|
||||
/* XXX: check this */
|
||||
switch (env->error_code & ~0xF) {
|
||||
case POWERPC_EXCP_FP:
|
||||
EXCP_DUMP(env, "Floating point program exception\n");
|
||||
info.si_signo = TARGET_SIGFPE;
|
||||
info.si_errno = 0;
|
||||
switch (env->error_code & 0xF) {
|
||||
@ -1765,7 +1759,6 @@ void cpu_loop(CPUPPCState *env)
|
||||
}
|
||||
break;
|
||||
case POWERPC_EXCP_INVAL:
|
||||
EXCP_DUMP(env, "Invalid instruction\n");
|
||||
info.si_signo = TARGET_SIGILL;
|
||||
info.si_errno = 0;
|
||||
switch (env->error_code & 0xF) {
|
||||
@ -1789,7 +1782,6 @@ void cpu_loop(CPUPPCState *env)
|
||||
}
|
||||
break;
|
||||
case POWERPC_EXCP_PRIV:
|
||||
EXCP_DUMP(env, "Privilege violation\n");
|
||||
info.si_signo = TARGET_SIGILL;
|
||||
info.si_errno = 0;
|
||||
switch (env->error_code & 0xF) {
|
||||
@ -1819,7 +1811,6 @@ void cpu_loop(CPUPPCState *env)
|
||||
queue_signal(env, info.si_signo, &info);
|
||||
break;
|
||||
case POWERPC_EXCP_FPU: /* Floating-point unavailable exception */
|
||||
EXCP_DUMP(env, "No floating point allowed\n");
|
||||
info.si_signo = TARGET_SIGILL;
|
||||
info.si_errno = 0;
|
||||
info.si_code = TARGET_ILL_COPROC;
|
||||
@ -1831,7 +1822,6 @@ void cpu_loop(CPUPPCState *env)
|
||||
"Aborting\n");
|
||||
break;
|
||||
case POWERPC_EXCP_APU: /* Auxiliary processor unavailable */
|
||||
EXCP_DUMP(env, "No APU instruction allowed\n");
|
||||
info.si_signo = TARGET_SIGILL;
|
||||
info.si_errno = 0;
|
||||
info.si_code = TARGET_ILL_COPROC;
|
||||
@ -1859,7 +1849,6 @@ void cpu_loop(CPUPPCState *env)
|
||||
"Aborting\n");
|
||||
break;
|
||||
case POWERPC_EXCP_SPEU: /* SPE/embedded floating-point unavail. */
|
||||
EXCP_DUMP(env, "No SPE/floating-point instruction allowed\n");
|
||||
info.si_signo = TARGET_SIGILL;
|
||||
info.si_errno = 0;
|
||||
info.si_code = TARGET_ILL_COPROC;
|
||||
@ -1923,7 +1912,6 @@ void cpu_loop(CPUPPCState *env)
|
||||
"while in user mode. Aborting\n");
|
||||
break;
|
||||
case POWERPC_EXCP_VPU: /* Vector unavailable exception */
|
||||
EXCP_DUMP(env, "No Altivec instructions allowed\n");
|
||||
info.si_signo = TARGET_SIGILL;
|
||||
info.si_errno = 0;
|
||||
info.si_code = TARGET_ILL_COPROC;
|
||||
|
Loading…
Reference in New Issue
Block a user