diff options
Diffstat (limited to 'cpu-exec.c')
-rw-r--r-- | cpu-exec.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/cpu-exec.c b/cpu-exec.c index c7cd607887..e7f4322ef4 100644 --- a/cpu-exec.c +++ b/cpu-exec.c @@ -1280,6 +1280,23 @@ int cpu_signal_handler(int host_signum, struct siginfo *info, void *puc) &uc->uc_sigmask, puc); } +#elif defined(__s390__) + +int cpu_signal_handler(int host_signum, struct siginfo *info, + void *puc) +{ + struct ucontext *uc = puc; + unsigned long pc; + int is_write; + + pc = uc->uc_mcontext.psw.addr; + /* XXX: compute is_write */ + is_write = 0; + return handle_cpu_signal(pc, (unsigned long)info->si_addr, + is_write, + &uc->uc_sigmask, puc); +} + #else #error host CPU specific signal handler needed |