Guard SysemuCPUOps::monitor_defs field and the per-target MonitorDef
arrays with CONFIG_HMP. These tables are only used by HMP 'print' and
'info registers' commands.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
include/hw/core/sysemu-cpu-ops.h | 2 ++
target/i386/cpu.c | 4 ++++
target/m68k/cpu.c | 4 ++++
target/sparc/cpu.c | 5 +++--
4 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/include/hw/core/sysemu-cpu-ops.h b/include/hw/core/sysemu-cpu-ops.h
index 441901fae8e..1d7d3700c93 100644
--- a/include/hw/core/sysemu-cpu-ops.h
+++ b/include/hw/core/sysemu-cpu-ops.h
@@ -120,11 +120,13 @@ typedef struct SysemuCPUOps {
*/
int (*monitor_get_register)(CPUState *cs, const char *name, int64_t *pval);
+#ifdef CONFIG_HMP
/**
* @monitor_defs: Array of MonitorDef entries. This field is legacy,
* use @gdb_core_xml_file to dump registers instead.
*/
const MonitorDef *monitor_defs;
+#endif
/**
* @legacy_vmsd: Legacy state for migration.
diff --git a/target/i386/cpu.c b/target/i386/cpu.c
index 7248720a0eb..7efc223c787 100644
--- a/target/i386/cpu.c
+++ b/target/i386/cpu.c
@@ -10845,6 +10845,7 @@ static const Property x86_cpu_properties[] = {
#ifndef CONFIG_USER_ONLY
+#ifdef CONFIG_HMP
static int64_t monitor_get_pc(Monitor *mon, const struct MonitorDef *md,
int offset)
{
@@ -10870,6 +10871,7 @@ static const MonitorDef x86_monitor_defs[] = {
{ NULL },
#undef SEG
};
+#endif
#include "hw/core/sysemu-cpu-ops.h"
@@ -10884,7 +10886,9 @@ static const struct SysemuCPUOps i386_sysemu_ops = {
.write_elf64_note = x86_cpu_write_elf64_note,
.write_elf32_qemunote = x86_cpu_write_elf32_qemunote,
.write_elf64_qemunote = x86_cpu_write_elf64_qemunote,
+#ifdef CONFIG_HMP
.monitor_defs = x86_monitor_defs,
+#endif
.legacy_vmsd = &vmstate_x86_cpu,
};
#endif
diff --git a/target/m68k/cpu.c b/target/m68k/cpu.c
index 9ad3057d91c..9955acb6c8d 100644
--- a/target/m68k/cpu.c
+++ b/target/m68k/cpu.c
@@ -603,6 +603,7 @@ static const VMStateDescription vmstate_m68k_cpu = {
},
};
+#ifdef CONFIG_HMP
static const MonitorDef m68k_monitor_defs[] = {
{ "ssp", offsetof(CPUM68KState, sp[0]) },
{ "usp", offsetof(CPUM68KState, sp[1]) },
@@ -618,13 +619,16 @@ static const MonitorDef m68k_monitor_defs[] = {
{ "mmusr", offsetof(CPUM68KState, mmu.mmusr) },
{ NULL },
};
+#endif
#include "hw/core/sysemu-cpu-ops.h"
static const struct SysemuCPUOps m68k_sysemu_ops = {
.has_work = m68k_cpu_has_work,
.get_phys_addr_debug = m68k_cpu_get_phys_addr_debug,
+#ifdef CONFIG_HMP
.monitor_defs = m68k_monitor_defs,
+#endif
};
#endif /* !CONFIG_USER_ONLY */
diff --git a/target/sparc/cpu.c b/target/sparc/cpu.c
index 3df199ada7b..46af64c6a86 100644
--- a/target/sparc/cpu.c
+++ b/target/sparc/cpu.c
@@ -996,7 +996,7 @@ static const Property sparc_cpu_properties[] = {
#ifdef TARGET_SPARC64
#include "monitor/hmp.h"
-
+#ifdef CONFIG_HMP
static const MonitorDef sparc64_monitor_defs[] = {
{ "asi", offsetof(CPUSPARCState, asi) },
{ "pstate", offsetof(CPUSPARCState, pstate) },
@@ -1008,6 +1008,7 @@ static const MonitorDef sparc64_monitor_defs[] = {
{ NULL },
};
#endif
+#endif
#include "hw/core/sysemu-cpu-ops.h"
@@ -1015,7 +1016,7 @@ static const struct SysemuCPUOps sparc_sysemu_ops = {
.has_work = sparc_cpu_has_work,
.get_phys_addr_debug = sparc_cpu_get_phys_addr_debug,
.legacy_vmsd = &vmstate_sparc_cpu,
-#if defined(TARGET_SPARC64)
+#if defined(TARGET_SPARC64) && defined(CONFIG_HMP)
.monitor_defs = sparc64_monitor_defs,
#endif
};
--
2.54.0