summary refs log tree commit diff stats
path: root/user-exec.c
diff options
context:
space:
mode:
authorBlue Swirl <blauwirbel@gmail.com>2012-12-04 20:16:07 +0000
committerBlue Swirl <blauwirbel@gmail.com>2012-12-16 08:35:24 +0000
commita8a826a3c3b8c8a1c4def0e9e22b46e78e6163a0 (patch)
tree4477f11f1fdb1a5f1ad2914d1ebbf86e4c2df435 /user-exec.c
parent5b6dd8683dc30e8e0970db3dd9176732dc819410 (diff)
downloadfocaccia-qemu-a8a826a3c3b8c8a1c4def0e9e22b46e78e6163a0.tar.gz
focaccia-qemu-a8a826a3c3b8c8a1c4def0e9e22b46e78e6163a0.zip
exec: refactor cpu_restore_state
Refactor common code around calls to cpu_restore_state().

tb_find_pc() has now no external users, make it static.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Diffstat (limited to '')
-rw-r--r--user-exec.c8
1 files changed, 1 insertions, 7 deletions
diff --git a/user-exec.c b/user-exec.c
index ef9b1727b3..1185cb03c8 100644
--- a/user-exec.c
+++ b/user-exec.c
@@ -81,7 +81,6 @@ static inline int handle_cpu_signal(uintptr_t pc, unsigned long address,
                                     int is_write, sigset_t *old_set,
                                     void *puc)
 {
-    TranslationBlock *tb;
     int ret;
 
 #if defined(DEBUG_SIGNAL)
@@ -104,12 +103,7 @@ static inline int handle_cpu_signal(uintptr_t pc, unsigned long address,
         return 1; /* the MMU fault was handled without causing real CPU fault */
     }
     /* now we have a real cpu fault */
-    tb = tb_find_pc(pc);
-    if (tb) {
-        /* the PC is inside the translated code. It means that we have
-           a virtual CPU fault */
-        cpu_restore_state(tb, cpu_single_env, pc);
-    }
+    cpu_restore_state(cpu_single_env, pc);
 
     /* we restore the process signal mask as the sigreturn should
        do it (XXX: use sigsetjmp) */