diff options
author | Blue Swirl <blauwirbel@gmail.com> | 2009-05-07 17:14:07 +0000 |
---|---|---|
committer | Blue Swirl <blauwirbel@gmail.com> | 2009-05-07 17:14:07 +0000 |
commit | e612a1f7256bb3546cf3e9ae6cad3997c4153663 (patch) | |
tree | 068052193e653b300fdb37ce41e0be62f067aa81 /disas.c | |
parent | 0087375ec85879b69cdb039298ac51c740f11fcb (diff) | |
download | qemu-e612a1f7256bb3546cf3e9ae6cad3997c4153663.zip qemu-e612a1f7256bb3546cf3e9ae6cad3997c4153663.tar.gz qemu-e612a1f7256bb3546cf3e9ae6cad3997c4153663.tar.bz2 |
Fix disassembler memory accesses
Sparc disassembler wants to check previous addresses for some stuff
and this may actually cause faults to be generated to the guest if the
address is close to page start, because of the function used for the
memory access.
Fix by changing ldub_code to cpu_memory_rw_debug, which doesn't trigger
exceptions.
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Diffstat (limited to 'disas.c')
-rw-r--r-- | disas.c | 5 |
1 files changed, 1 insertions, 4 deletions
@@ -33,10 +33,7 @@ target_read_memory (bfd_vma memaddr, int length, struct disassemble_info *info) { - int i; - for(i = 0; i < length; i++) { - myaddr[i] = ldub_code(memaddr + i); - } + cpu_memory_rw_debug(cpu_single_env, memaddr, myaddr, length, 0); return 0; } |