From 43cf067ff8b17b23e3dd0ba8e0214c55a140f700 Mon Sep 17 00:00:00 2001 From: Kevin Wolf Date: Fri, 13 Nov 2020 12:43:25 +0100 Subject: [PATCH] hmp: Pass monitor to MonitorDef.get_value() All of these callbacks use mon_get_cpu_env(). Pass the Monitor pointer to them it in preparation for adding a monitor argument to mon_get_cpu_env(). Signed-off-by: Kevin Wolf Message-Id: <20201113114326.97663-3-kwolf@redhat.com> Reviewed-by: Dr. David Alan Gilbert Signed-off-by: Dr. David Alan Gilbert --- include/monitor/hmp-target.h | 3 ++- monitor/misc.c | 2 +- target/i386/monitor.c | 3 ++- target/ppc/monitor.c | 12 ++++++++---- target/sparc/monitor.c | 6 ++++-- 5 files changed, 17 insertions(+), 9 deletions(-) diff --git a/include/monitor/hmp-target.h b/include/monitor/hmp-target.h index 519616d1fb..385fb18664 100644 --- a/include/monitor/hmp-target.h +++ b/include/monitor/hmp-target.h @@ -33,7 +33,8 @@ struct MonitorDef { const char *name; int offset; - target_long (*get_value)(const struct MonitorDef *md, int val); + target_long (*get_value)(Monitor *mon, const struct MonitorDef *md, + int val); int type; }; diff --git a/monitor/misc.c b/monitor/misc.c index c918d6bd08..f566e28174 100644 --- a/monitor/misc.c +++ b/monitor/misc.c @@ -1678,7 +1678,7 @@ int get_monitor_def(Monitor *mon, int64_t *pval, const char *name) for(; md->name != NULL; md++) { if (hmp_compare_cmd(name, md->name)) { if (md->get_value) { - *pval = md->get_value(md, md->offset); + *pval = md->get_value(mon, md, md->offset); } else { CPUArchState *env = mon_get_cpu_env(); ptr = (uint8_t *)env + md->offset; diff --git a/target/i386/monitor.c b/target/i386/monitor.c index 5ca3cab4ec..fed4606aeb 100644 --- a/target/i386/monitor.c +++ b/target/i386/monitor.c @@ -601,7 +601,8 @@ void hmp_mce(Monitor *mon, const QDict *qdict) } } -static target_long monitor_get_pc(const struct MonitorDef *md, int val) +static target_long monitor_get_pc(Monitor *mon, const struct MonitorDef *md, + int val) { CPUArchState *env = mon_get_cpu_env(); return env->eip + env->segs[R_CS].base; diff --git a/target/ppc/monitor.c b/target/ppc/monitor.c index a5a177d717..9c0fc2b8c3 100644 --- a/target/ppc/monitor.c +++ b/target/ppc/monitor.c @@ -29,7 +29,8 @@ #include "monitor/hmp-target.h" #include "monitor/hmp.h" -static target_long monitor_get_ccr(const struct MonitorDef *md, int val) +static target_long monitor_get_ccr(Monitor *mon, const struct MonitorDef *md, + int val) { CPUArchState *env = mon_get_cpu_env(); unsigned int u; @@ -43,19 +44,22 @@ static target_long monitor_get_ccr(const struct MonitorDef *md, int val) return u; } -static target_long monitor_get_decr(const struct MonitorDef *md, int val) +static target_long monitor_get_decr(Monitor *mon, const struct MonitorDef *md, + int val) { CPUArchState *env = mon_get_cpu_env(); return cpu_ppc_load_decr(env); } -static target_long monitor_get_tbu(const struct MonitorDef *md, int val) +static target_long monitor_get_tbu(Monitor *mon, const struct MonitorDef *md, + int val) { CPUArchState *env = mon_get_cpu_env(); return cpu_ppc_load_tbu(env); } -static target_long monitor_get_tbl(const struct MonitorDef *md, int val) +static target_long monitor_get_tbl(Monitor *mon, const struct MonitorDef *md, + int val) { CPUArchState *env = mon_get_cpu_env(); return cpu_ppc_load_tbl(env); diff --git a/target/sparc/monitor.c b/target/sparc/monitor.c index a7ea287cbc..bf979d6520 100644 --- a/target/sparc/monitor.c +++ b/target/sparc/monitor.c @@ -40,7 +40,8 @@ void hmp_info_tlb(Monitor *mon, const QDict *qdict) } #ifndef TARGET_SPARC64 -static target_long monitor_get_psr (const struct MonitorDef *md, int val) +static target_long monitor_get_psr(Monitor *mon, const struct MonitorDef *md, + int val) { CPUArchState *env = mon_get_cpu_env(); @@ -48,7 +49,8 @@ static target_long monitor_get_psr (const struct MonitorDef *md, int val) } #endif -static target_long monitor_get_reg(const struct MonitorDef *md, int val) +static target_long monitor_get_reg(Monitor *mon, const struct MonitorDef *md, + int val) { CPUArchState *env = mon_get_cpu_env(); return env->regwptr[val];