mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 00:03:54 -06:00
target-mips: don't call cpu_loop_exit() from helper.c
In helper.c AREG0 may not correspond do env, so it's not possible to call cpu_loop_exit() here. Call it from op_helper.c instead. Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
This commit is contained in:
parent
3f26c1227e
commit
c36bbb28ad
3 changed files with 22 additions and 8 deletions
|
@ -311,7 +311,7 @@ int cpu_mips_handle_mmu_fault (CPUState *env, target_ulong address, int rw,
|
|||
}
|
||||
|
||||
#if !defined(CONFIG_USER_ONLY)
|
||||
target_phys_addr_t do_translate_address(CPUState *env, target_ulong address, int rw)
|
||||
target_phys_addr_t cpu_mips_translate_address(CPUState *env, target_ulong address, int rw)
|
||||
{
|
||||
target_phys_addr_t physical;
|
||||
int prot;
|
||||
|
@ -326,10 +326,10 @@ target_phys_addr_t do_translate_address(CPUState *env, target_ulong address, int
|
|||
address, rw, access_type);
|
||||
if (ret != TLBRET_MATCH) {
|
||||
raise_mmu_exception(env, address, rw, ret);
|
||||
cpu_loop_exit();
|
||||
return -1LL;
|
||||
} else {
|
||||
return physical;
|
||||
}
|
||||
|
||||
return physical;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue