aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2008-05-10 15:42:17 +0000
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2008-05-10 15:42:17 +0000
commita607922c75ed66f4583bdfc5d131b386ecd7ddad (patch)
treef9ba29aede556e1e8273d42505288d62e9967d59
parentbf6247fb7639bc3492e769791f6569d65860029b (diff)
fixed do_restore_state()
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4413 c046a42c-6fe2-441c-8c8c-71466251a162
-rw-r--r--target-mips/op_helper.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/target-mips/op_helper.c b/target-mips/op_helper.c
index 26420aa3cb..c126a7768e 100644
--- a/target-mips/op_helper.c
+++ b/target-mips/op_helper.c
@@ -50,11 +50,13 @@ void do_raise_exception (uint32_t exception)
void do_restore_state (void *pc_ptr)
{
- TranslationBlock *tb;
- unsigned long pc = (unsigned long) pc_ptr;
-
- tb = tb_find_pc (pc);
- cpu_restore_state (tb, env, pc, NULL);
+ TranslationBlock *tb;
+ unsigned long pc = (unsigned long) pc_ptr;
+
+ tb = tb_find_pc (pc);
+ if (tb) {
+ cpu_restore_state (tb, env, pc, NULL);
+ }
}
void do_raise_exception_direct_err (uint32_t exception, int error_code)