summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--disas.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/disas.c b/disas.c
index 45285d3f63..c1397d3933 100644
--- a/disas.c
+++ b/disas.c
@@ -39,9 +39,11 @@ target_read_memory (bfd_vma memaddr,
struct disassemble_info *info)
{
CPUDebug *s = container_of(info, CPUDebug, info);
+ int r;
- cpu_memory_rw_debug(s->cpu, memaddr, myaddr, length, 0);
- return 0;
+ r = cpu_memory_rw_debug(s->cpu, memaddr, myaddr, length, 0);
+
+ return r ? EIO : 0;
}
/* Print an error message. We can assume that this is in response to
@@ -718,10 +720,11 @@ physical_read_memory(bfd_vma memaddr, bfd_byte *myaddr, int length,
struct disassemble_info *info)
{
CPUDebug *s = container_of(info, CPUDebug, info);
+ MemTxResult res;
- address_space_read(s->cpu->as, memaddr, MEMTXATTRS_UNSPECIFIED,
- myaddr, length);
- return 0;
+ res = address_space_read(s->cpu->as, memaddr, MEMTXATTRS_UNSPECIFIED,
+ myaddr, length);
+ return res == MEMTX_OK ? 0 : EIO;
}
/* Disassembler for the monitor. */