diff options
Diffstat (limited to 'target-sparc')
-rw-r--r-- | target-sparc/helper.c | 2 | ||||
-rw-r--r-- | target-sparc/translate.c | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/target-sparc/helper.c b/target-sparc/helper.c index e6891ccbb1..82a3a4ec90 100644 --- a/target-sparc/helper.c +++ b/target-sparc/helper.c @@ -94,7 +94,7 @@ void tlb_fill(target_ulong addr, int is_write, int is_user, void *retaddr) if (tb) { /* the PC is inside the translated code. It means that we have a virtual CPU fault */ - cpu_restore_state(tb, env, pc, NULL); + cpu_restore_state(tb, env, pc, (void *)T2); } } cpu_loop_exit(); diff --git a/target-sparc/translate.c b/target-sparc/translate.c index 9f5c2f5c3d..543ed927b6 100644 --- a/target-sparc/translate.c +++ b/target-sparc/translate.c @@ -1582,6 +1582,8 @@ static inline int gen_intermediate_code_internal(TranslationBlock * tb, page_dump(logfile); } #endif + gen_opc_jump_pc[0] = dc->jump_pc[0]; + gen_opc_jump_pc[1] = dc->jump_pc[1]; } else { tb->size = last_pc + 4 - pc_start; } |