diff options
Diffstat (limited to 'target-ppc')
-rw-r--r-- | target-ppc/op_helper.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/target-ppc/op_helper.c b/target-ppc/op_helper.c index c5e0601292..134b0c6587 100644 --- a/target-ppc/op_helper.c +++ b/target-ppc/op_helper.c @@ -3714,17 +3714,16 @@ uint32_t helper_efdcmpeq (uint64_t op1, uint64_t op2) NULL, it means that the function was called in C code (i.e. not from generated code or from helper.c) */ /* XXX: fix it to restore all registers */ -void tlb_fill (target_ulong addr, int is_write, int mmu_idx, void *retaddr) +void tlb_fill(CPUState *env1, target_ulong addr, int is_write, int mmu_idx, + void *retaddr) { TranslationBlock *tb; CPUState *saved_env; unsigned long pc; int ret; - /* XXX: hack to restore env in all cases, even if not called from - generated code */ saved_env = env; - env = cpu_single_env; + env = env1; ret = cpu_ppc_handle_mmu_fault(env, addr, is_write, mmu_idx); if (unlikely(ret != 0)) { if (likely(retaddr)) { |