qemu-devel
[Top][All Lists]
Advanced

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

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


From: Alex Bennée
Subject: Re: [Qemu-devel] [PATCH v2 8/8] disas: Remove monitor_disas_is_physical
Date: Tue, 26 Sep 2017 14:45:16 +0100
User-agent: mu4e 0.9.19; emacs 26.0.60

Richard Henderson <address@hidden> writes:

> 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.
>
> Signed-off-by: Richard Henderson <address@hidden>

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

> ---
>  disas.c | 18 +++++-------------
>  1 file changed, 5 insertions(+), 13 deletions(-)
>
> diff --git a/disas.c b/disas.c
> index b4e4fc409e..c3606b3986 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,
> -                     struct disassemble_info *info)
> +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;


--
Alex Bennée



reply via email to

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