user-exec.c: aarch64 initial implementation of cpu_signal_handler
authorClaudio Fontana <claudio.fontana@huawei.com>
Wed, 12 Jun 2013 15:20:23 +0000 (16:20 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Wed, 12 Jun 2013 15:20:23 +0000 (16:20 +0100)
Signed-off-by: Claudio Fontana <claudio.fontana@huawei.com>
Reviewed-by: Richard Henderson <rth@twiddle.net>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Message-id: 51AF4028.5030504@huawei.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
user-exec.c

index 71bd6c531c85363a9b9bcfda402fca85784d1041..fa7f1f1de9fa1f411c65caccd1ca04d6b943182f 100644 (file)
@@ -448,6 +448,21 @@ int cpu_signal_handler(int host_signum, void *pinfo,
                              &uc->uc_sigmask, puc);
 }
 
+#elif defined(__aarch64__)
+
+int cpu_signal_handler(int host_signum, void *pinfo,
+                       void *puc)
+{
+    siginfo_t *info = pinfo;
+    struct ucontext *uc = puc;
+    uint64_t pc;
+    int is_write = 0; /* XXX how to determine? */
+
+    pc = uc->uc_mcontext.pc;
+    return handle_cpu_signal(pc, (uint64_t)info->si_addr,
+                             is_write, &uc->uc_sigmask, puc);
+}
+
 #elif defined(__mc68000)
 
 int cpu_signal_handler(int host_signum, void *pinfo,