diff options
author | Richard Henderson | 2021-07-24 00:20:55 +0200 |
---|---|---|
committer | Richard Henderson | 2021-11-02 12:00:52 +0100 |
commit | e7424abc201ea06ff91a15fd86a533a22cd8dff4 (patch) | |
tree | d35abf7874f85105c7d7ae1d8bf6ab492ecf8498 /linux-user/alpha | |
parent | linux-user: Add cpu_loop_exit_sigbus (diff) | |
download | qemu-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.c | 7 |
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; |