summaryrefslogtreecommitdiffstats
path: root/linux-user/alpha
diff options
context:
space:
mode:
authorRichard Henderson2021-07-24 00:20:55 +0200
committerRichard Henderson2021-11-02 12:00:52 +0100
commite7424abc201ea06ff91a15fd86a533a22cd8dff4 (patch)
treed35abf7874f85105c7d7ae1d8bf6ab492ecf8498 /linux-user/alpha
parentlinux-user: Add cpu_loop_exit_sigbus (diff)
downloadqemu-e7424abc201ea06ff91a15fd86a533a22cd8dff4.tar.gz
qemu-e7424abc201ea06ff91a15fd86a533a22cd8dff4.tar.xz
qemu-e7424abc201ea06ff91a15fd86a533a22cd8dff4.zip
target/alpha: Implement alpha_cpu_record_sigbus
Record trap_arg{0,1,2} for the linux-user signal frame. Raise SIGBUS directly from cpu_loop_exit_sigbus, which means we can remove the code for EXCP_UNALIGN in cpu_loop. Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'linux-user/alpha')
-rw-r--r--linux-user/alpha/cpu_loop.c7
1 files changed, 0 insertions, 7 deletions
diff --git a/linux-user/alpha/cpu_loop.c b/linux-user/alpha/cpu_loop.c
index 4cc8e0a55c..4029849d5c 100644
--- a/linux-user/alpha/cpu_loop.c
+++ b/linux-user/alpha/cpu_loop.c
@@ -54,13 +54,6 @@ void cpu_loop(CPUAlphaState *env)
fprintf(stderr, "External interrupt. Exit\n");
exit(EXIT_FAILURE);
break;
- case EXCP_UNALIGN:
- info.si_signo = TARGET_SIGBUS;
- info.si_errno = 0;
- info.si_code = TARGET_BUS_ADRALN;
- info._sifields._sigfault._addr = env->trap_arg0;
- queue_signal(env, info.si_signo, QEMU_SI_FAULT, &info);
- break;
case EXCP_OPCDEC:
do_sigill:
info.si_signo = TARGET_SIGILL;