diff options
Diffstat (limited to 'target-alpha')
-rw-r--r-- | target-alpha/cpu.h | 6 | ||||
-rw-r--r-- | target-alpha/fpu_helper.c | 6 | ||||
-rw-r--r-- | target-alpha/helper.c | 13 | ||||
-rw-r--r-- | target-alpha/mem_helper.c | 6 |
4 files changed, 15 insertions, 16 deletions
diff --git a/target-alpha/cpu.h b/target-alpha/cpu.h index 74bf7f7ff4..fd578cef49 100644 --- a/target-alpha/cpu.h +++ b/target-alpha/cpu.h @@ -433,9 +433,9 @@ int cpu_alpha_handle_mmu_fault (CPUAlphaState *env, uint64_t address, int rw, int mmu_idx); #define cpu_handle_mmu_fault cpu_alpha_handle_mmu_fault void do_interrupt (CPUAlphaState *env); -void do_restore_state(CPUAlphaState *, void *retaddr); -void QEMU_NORETURN dynamic_excp(CPUAlphaState *, void *, int, int); -void QEMU_NORETURN arith_excp(CPUAlphaState *, void *, int, uint64_t); +void do_restore_state(CPUAlphaState *, uintptr_t retaddr); +void QEMU_NORETURN dynamic_excp(CPUAlphaState *, uintptr_t, int, int); +void QEMU_NORETURN arith_excp(CPUAlphaState *, uintptr_t, int, uint64_t); uint64_t cpu_alpha_load_fpcr (CPUAlphaState *env); void cpu_alpha_store_fpcr (CPUAlphaState *env, uint64_t val); diff --git a/target-alpha/fpu_helper.c b/target-alpha/fpu_helper.c index dda110352e..fe988ec459 100644 --- a/target-alpha/fpu_helper.c +++ b/target-alpha/fpu_helper.c @@ -44,7 +44,7 @@ uint32_t helper_fp_exc_get(CPUAlphaState *env) return get_float_exception_flags(&FP_STATUS); } -static inline void inline_fp_exc_raise(CPUAlphaState *env, void *retaddr, +static inline void inline_fp_exc_raise(CPUAlphaState *env, uintptr_t retaddr, uint32_t exc, uint32_t regno) { if (exc) { @@ -160,7 +160,7 @@ static uint64_t float32_to_f(float32 fa) return r; } -static float32 f_to_float32(CPUAlphaState *env, void *retaddr, uint64_t a) +static float32 f_to_float32(CPUAlphaState *env, uintptr_t retaddr, uint64_t a) { uint32_t exp, mant_sig; CPU_FloatU r; @@ -291,7 +291,7 @@ static uint64_t float64_to_g(float64 fa) return r; } -static float64 g_to_float64(CPUAlphaState *env, void *retaddr, uint64_t a) +static float64 g_to_float64(CPUAlphaState *env, uintptr_t retaddr, uint64_t a) { uint64_t exp, mant_sig; CPU_DoubleU r; diff --git a/target-alpha/helper.c b/target-alpha/helper.c index 765e650002..81d4763b49 100644 --- a/target-alpha/helper.c +++ b/target-alpha/helper.c @@ -494,13 +494,12 @@ void cpu_dump_state (CPUAlphaState *env, FILE *f, fprintf_function cpu_fprintf, cpu_fprintf(f, "\n"); } -void do_restore_state(CPUAlphaState *env, void *retaddr) +void do_restore_state(CPUAlphaState *env, uintptr_t retaddr) { - uintptr_t pc = (uintptr_t)retaddr; - if (pc) { - TranslationBlock *tb = tb_find_pc(pc); + if (retaddr) { + TranslationBlock *tb = tb_find_pc(retaddr); if (tb) { - cpu_restore_state(tb, env, pc); + cpu_restore_state(tb, env, retaddr); } } } @@ -515,7 +514,7 @@ void QEMU_NORETURN helper_excp(CPUAlphaState *env, int excp, int error) } /* This may be called from any of the helpers to set up EXCEPTION_INDEX. */ -void QEMU_NORETURN dynamic_excp(CPUAlphaState *env, void *retaddr, +void QEMU_NORETURN dynamic_excp(CPUAlphaState *env, uintptr_t retaddr, int excp, int error) { env->exception_index = excp; @@ -524,7 +523,7 @@ void QEMU_NORETURN dynamic_excp(CPUAlphaState *env, void *retaddr, cpu_loop_exit(env); } -void QEMU_NORETURN arith_excp(CPUAlphaState *env, void *retaddr, +void QEMU_NORETURN arith_excp(CPUAlphaState *env, uintptr_t retaddr, int exc, uint64_t mask) { env->trap_arg0 = exc; diff --git a/target-alpha/mem_helper.c b/target-alpha/mem_helper.c index dd5ca4933a..87cada48f9 100644 --- a/target-alpha/mem_helper.c +++ b/target-alpha/mem_helper.c @@ -89,7 +89,7 @@ uint64_t helper_stq_c_phys(CPUAlphaState *env, uint64_t p, uint64_t v) } static void do_unaligned_access(CPUAlphaState *env, target_ulong addr, - int is_write, int is_user, void *retaddr) + int is_write, int is_user, uintptr_t retaddr) { uint64_t pc; uint32_t insn; @@ -112,7 +112,7 @@ void cpu_unassigned_access(CPUAlphaState *env, target_phys_addr_t addr, { env->trap_arg0 = addr; env->trap_arg1 = is_write; - dynamic_excp(env, NULL, EXCP_MCHK, 0); + dynamic_excp(env, 0, EXCP_MCHK, 0); } #include "softmmu_exec.h" @@ -137,7 +137,7 @@ void cpu_unassigned_access(CPUAlphaState *env, target_phys_addr_t addr, from generated code or from helper.c) */ /* XXX: fix it to restore all registers */ void tlb_fill(CPUAlphaState *env, target_ulong addr, int is_write, - int mmu_idx, void *retaddr) + int mmu_idx, uintptr_t retaddr) { int ret; |