Skip to content
This repository has been archived by the owner on May 18, 2020. It is now read-only.

Commit

Permalink
disas: Remove monitor_disas_is_physical
Browse files Browse the repository at this point in the history
Even though there is only one monitor, and thus no race on this
global data object, there is also no point in having it.  We can
just as well record the decision in the read_memory_function that
we select.

Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
  • Loading branch information
rth7680 committed Oct 25, 2017
1 parent ac22689 commit b8d8720
Showing 1 changed file with 4 additions and 12 deletions.
16 changes: 4 additions & 12 deletions disas.c
Original file line number Diff line number Diff line change
Expand Up @@ -512,19 +512,11 @@ const char *lookup_symbol(target_ulong orig_addr)

#include "monitor/monitor.h"

static int monitor_disas_is_physical;

static int
monitor_read_memory (bfd_vma memaddr, bfd_byte *myaddr, int length,
physical_read_memory(bfd_vma memaddr, bfd_byte *myaddr, int length,
struct disassemble_info *info)
{
CPUDebug *s = container_of(info, CPUDebug, info);

if (monitor_disas_is_physical) {
cpu_physical_memory_read(memaddr, myaddr, length);
} else {
cpu_memory_rw_debug(s->cpu, memaddr, myaddr, length, 0);
}
cpu_physical_memory_read(memaddr, myaddr, length);
return 0;
}

Expand All @@ -539,8 +531,8 @@ void monitor_disas(Monitor *mon, CPUState *cpu,
INIT_DISASSEMBLE_INFO(s.info, (FILE *)mon, monitor_fprintf);

s.cpu = cpu;
monitor_disas_is_physical = is_physical;
s.info.read_memory_func = monitor_read_memory;
s.info.read_memory_func
= (is_physical ? physical_read_memory : target_read_memory);
s.info.print_address_func = generic_print_address;
s.info.buffer_vma = pc;
s.info.cap_arch = -1;
Expand Down

0 comments on commit b8d8720

Please sign in to comment.