diff options
author | bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> | 2008-05-10 15:42:17 +0000 |
---|---|---|
committer | bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> | 2008-05-10 15:42:17 +0000 |
commit | a607922c75ed66f4583bdfc5d131b386ecd7ddad (patch) | |
tree | f9ba29aede556e1e8273d42505288d62e9967d59 /target-mips | |
parent | bf6247fb7639bc3492e769791f6569d65860029b (diff) |
fixed do_restore_state()
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4413 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-mips')
-rw-r--r-- | target-mips/op_helper.c | 12 |
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) |