diff options
Diffstat (limited to 'target-sh4')
-rw-r--r-- | target-sh4/op_helper.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/target-sh4/op_helper.c b/target-sh4/op_helper.c index 30f762f514..40547911cd 100644 --- a/target-sh4/op_helper.c +++ b/target-sh4/op_helper.c @@ -22,18 +22,16 @@ #include "dyngen-exec.h" #include "helper.h" -static void cpu_restore_state_from_retaddr(void *retaddr) +static void cpu_restore_state_from_retaddr(uintptr_t retaddr) { TranslationBlock *tb; - unsigned long pc; if (retaddr) { - pc = (unsigned long) retaddr; - tb = tb_find_pc(pc); + tb = tb_find_pc(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); + cpu_restore_state(tb, env, retaddr); } } } @@ -56,7 +54,7 @@ static void cpu_restore_state_from_retaddr(void *retaddr) #include "softmmu_template.h" void tlb_fill(CPUSH4State *env1, target_ulong addr, int is_write, int mmu_idx, - void *retaddr) + uintptr_t retaddr) { CPUSH4State *saved_env; int ret; @@ -84,7 +82,7 @@ void helper_ldtlb(void) #endif } -static inline void raise_exception(int index, void *retaddr) +static inline void raise_exception(int index, uintptr_t retaddr) { env->exception_index = index; cpu_restore_state_from_retaddr(retaddr); @@ -447,7 +445,7 @@ void helper_ld_fpscr(uint32_t val) set_flush_to_zero((val & FPSCR_DN) != 0, &env->fp_status); } -static void update_fpscr(void *retaddr) +static void update_fpscr(uintptr_t retaddr) { int xcpt, cause, enable; |