qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v4 8/9] disas: Remove monitor_disas_is_physical


From: Philippe Mathieu-Daudé
Subject: Re: [Qemu-devel] [PATCH v4 8/9] disas: Remove monitor_disas_is_physical
Date: Mon, 2 Oct 2017 10:55:53 -0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0

On 09/28/2017 01:54 PM, Richard Henderson wrote:
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.

Reviewed-by: Alex Bennée <address@hidden>

Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Tested-by: Philippe Mathieu-Daudé <address@hidden>

Signed-off-by: Richard Henderson <address@hidden>
---
  disas.c | 16 ++++------------
  1 file changed, 4 insertions(+), 12 deletions(-)

diff --git a/disas.c b/disas.c
index 0d212f2ac5..194c523885 100644
--- a/disas.c
+++ b/disas.c
@@ -513,19 +513,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;
  }
@@ -540,8 +532,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;




reply via email to

[Prev in Thread] Current Thread [Next in Thread]