[PATCH v2 5/8] monitor: Have *get_monitor_def() fill an unsigned value

Philippe Mathieu-Daudé posted 8 patches 2 weeks, 6 days ago
Maintainers: "Michael S. Tsirkin" <mst@redhat.com>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, Paolo Bonzini <pbonzini@redhat.com>, Richard Henderson <richard.henderson@linaro.org>, Eduardo Habkost <eduardo@habkost.net>, "Dr. David Alan Gilbert" <dave@treblig.org>, Markus Armbruster <armbru@redhat.com>, Zhao Liu <zhao1.liu@intel.com>, Marcelo Tosatti <mtosatti@redhat.com>, Laurent Vivier <laurent@vivier.eu>, Nicholas Piggin <npiggin@gmail.com>, Chinmay Rath <rathc@linux.ibm.com>, Palmer Dabbelt <palmer@dabbelt.com>, Alistair Francis <alistair.francis@wdc.com>, Weiwei Li <liwei1518@gmail.com>, Daniel Henrique Barboza <dbarboza@ventanamicro.com>, Liu Zhiwei <zhiwei_liu@linux.alibaba.com>, Yoshinori Sato <yoshinori.sato@nifty.com>, Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>, Artyom Tarasenko <atar4qemu@gmail.com>, Max Filippov <jcmvbkbc@gmail.com>
There is a newer version of this series
[PATCH v2 5/8] monitor: Have *get_monitor_def() fill an unsigned value
Posted by Philippe Mathieu-Daudé 2 weeks, 6 days ago
target_get_monitor_def() fills an unsigned value.
Have get_monitor_def() fill an unsigned value too.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 monitor/monitor-internal.h | 2 +-
 monitor/hmp-target.c       | 4 ++--
 monitor/hmp.c              | 2 +-
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/monitor/monitor-internal.h b/monitor/monitor-internal.h
index feca111ae31..8dc88963630 100644
--- a/monitor/monitor-internal.h
+++ b/monitor/monitor-internal.h
@@ -181,7 +181,7 @@ void monitor_data_destroy_qmp(MonitorQMP *mon);
 void coroutine_fn monitor_qmp_dispatcher_co(void *data);
 void qmp_dispatcher_co_wake(void);
 
-int get_monitor_def(Monitor *mon, int64_t *pval, const char *name);
+int get_monitor_def(Monitor *mon, uint64_t *pval, const char *name);
 void handle_hmp_command(MonitorHMP *mon, const char *cmdline);
 int hmp_compare_cmd(const char *name, const char *list);
 
diff --git a/monitor/hmp-target.c b/monitor/hmp-target.c
index 3fb4fb12508..ead195f5616 100644
--- a/monitor/hmp-target.c
+++ b/monitor/hmp-target.c
@@ -63,7 +63,7 @@ HMPCommand *hmp_cmds_for_target(bool info_command)
  * Set @pval to the value in the register identified by @name.
  * return 0 if OK, -1 if not found
  */
-int get_monitor_def(Monitor *mon, int64_t *pval, const char *name)
+int get_monitor_def(Monitor *mon, uint64_t *pval, const char *name)
 {
     const MonitorDef *md = target_monitor_defs();
     CPUState *cs = mon_get_cpu(mon);
@@ -100,7 +100,7 @@ int get_monitor_def(Monitor *mon, int64_t *pval, const char *name)
 
     ret = target_get_monitor_def(cs, name, &tmp);
     if (!ret) {
-        *pval = (target_long) tmp;
+        *pval = (target_ulong)tmp;
     }
 
     return ret;
diff --git a/monitor/hmp.c b/monitor/hmp.c
index 0a5bbf82197..eee8b7e964e 100644
--- a/monitor/hmp.c
+++ b/monitor/hmp.c
@@ -376,7 +376,7 @@ static int64_t expr_unary(Monitor *mon)
     case '$':
         {
             char buf[128], *q;
-            int64_t reg = 0;
+            uint64_t reg = 0;
 
             pch++;
             q = buf;
-- 
2.52.0


Re: [PATCH v2 5/8] monitor: Have *get_monitor_def() fill an unsigned value
Posted by Dr. David Alan Gilbert 2 weeks, 5 days ago
* Philippe Mathieu-Daudé (philmd@linaro.org) wrote:
> target_get_monitor_def() fills an unsigned value.
> Have get_monitor_def() fill an unsigned value too.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
>  monitor/monitor-internal.h | 2 +-
>  monitor/hmp-target.c       | 4 ++--
>  monitor/hmp.c              | 2 +-
>  3 files changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/monitor/monitor-internal.h b/monitor/monitor-internal.h
> index feca111ae31..8dc88963630 100644
> --- a/monitor/monitor-internal.h
> +++ b/monitor/monitor-internal.h
> @@ -181,7 +181,7 @@ void monitor_data_destroy_qmp(MonitorQMP *mon);
>  void coroutine_fn monitor_qmp_dispatcher_co(void *data);
>  void qmp_dispatcher_co_wake(void);
>  
> -int get_monitor_def(Monitor *mon, int64_t *pval, const char *name);
> +int get_monitor_def(Monitor *mon, uint64_t *pval, const char *name);
>  void handle_hmp_command(MonitorHMP *mon, const char *cmdline);
>  int hmp_compare_cmd(const char *name, const char *list);
>  
> diff --git a/monitor/hmp-target.c b/monitor/hmp-target.c
> index 3fb4fb12508..ead195f5616 100644
> --- a/monitor/hmp-target.c
> +++ b/monitor/hmp-target.c
> @@ -63,7 +63,7 @@ HMPCommand *hmp_cmds_for_target(bool info_command)
>   * Set @pval to the value in the register identified by @name.
>   * return 0 if OK, -1 if not found
>   */
> -int get_monitor_def(Monitor *mon, int64_t *pval, const char *name)
> +int get_monitor_def(Monitor *mon, uint64_t *pval, const char *name)
>  {
>      const MonitorDef *md = target_monitor_defs();
>      CPUState *cs = mon_get_cpu(mon);
> @@ -100,7 +100,7 @@ int get_monitor_def(Monitor *mon, int64_t *pval, const char *name)
>  
>      ret = target_get_monitor_def(cs, name, &tmp);
>      if (!ret) {
> -        *pval = (target_long) tmp;
> +        *pval = (target_ulong)tmp;
>      }
>  
>      return ret;
> diff --git a/monitor/hmp.c b/monitor/hmp.c
> index 0a5bbf82197..eee8b7e964e 100644
> --- a/monitor/hmp.c
> +++ b/monitor/hmp.c
> @@ -376,7 +376,7 @@ static int64_t expr_unary(Monitor *mon)
>      case '$':
>          {
>              char buf[128], *q;
> -            int64_t reg = 0;
> +            uint64_t reg = 0;

I'm a bit surprised the 'n = reg' where n is an int64_t doesn't
generate a warning.  Mind you, the 'n = strtoull(..)' has
been there for ages.
But, if it doesn't, then I'm hmm, ok, as you say above all the
data started out unsigned anyway.

Reviewed-by: Dr. David Alan Gilbert <dave@treblig.org>


>              pch++;
>              q = buf;
> -- 
> 2.52.0
> 
-- 
 -----Open up your eyes, open up your mind, open up your code -------   
/ Dr. David Alan Gilbert    |       Running GNU/Linux       | Happy  \ 
\        dave @ treblig.org |                               | In Hex /
 \ _________________________|_____ http://www.treblig.org   |_______/