diff options
author | Blue Swirl <blauwirbel@gmail.com> | 2011-07-03 08:53:46 +0000 |
---|---|---|
committer | Blue Swirl <blauwirbel@gmail.com> | 2011-07-20 21:28:08 +0000 |
commit | b14ef7c9ab41ea824c3ccadb070ad95567cca84e (patch) | |
tree | 87d72668e2e096e80b8e60ddddd2ddd82c20a9e2 /target-mips/op_helper.c | |
parent | 21673cdecb9e9b5a22acaf0a44e47145beb1999e (diff) |
Fix unassigned memory access handling
cea5f9a28faa528b6b1b117c9ab2d8828f473fef exposed bugs in unassigned memory
access handling. Fix them by always passing CPUState to the handlers.
Reported-by: Hervé Poussineau <hpoussin@reactos.org>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Diffstat (limited to 'target-mips/op_helper.c')
-rw-r--r-- | target-mips/op_helper.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/target-mips/op_helper.c b/target-mips/op_helper.c index 6b966b1849..01315ef0dc 100644 --- a/target-mips/op_helper.c +++ b/target-mips/op_helper.c @@ -1980,9 +1980,11 @@ void tlb_fill (target_ulong addr, int is_write, int mmu_idx, void *retaddr) env = saved_env; } -void do_unassigned_access(target_phys_addr_t addr, int is_write, int is_exec, - int unused, int size) +void cpu_unassigned_access(CPUState *env1, target_phys_addr_t addr, + int is_write, int is_exec, int unused, int size) { + env = env1; + if (is_exec) helper_raise_exception(EXCP_IBE); else |