[PATCH v3 42/49] target: guard MonitorDef tables with CONFIG_HMP
Marc-André Lureau <[email protected]>
| Newsgroups | org.nongnu.qemu-devel |
|---|---|
| Message-ID | <[email protected]> |
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 <[email protected]> --- include/hw/core/sysemu-cpu-ops.h | 2 ++ monitor/hmp.c | 4 +++- target/i386/cpu.c | 4 ++++ target/m68k/cpu.c | 4 ++++ target/sparc/cpu.c | 5 +++-- 5 files changed, 16 insertions(+), 3 deletions(-) diff --git a/include/hw/core/sysemu-cpu-ops.h b/include/hw/core/sysemu-cpu-ops.h index 9a45596169a3..e56eea18b785 100644 --- a/include/hw/core/sysemu-cpu-ops.h +++ b/include/hw/core/sysemu-cpu-ops.h @@ -109,11 +109,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/monitor/hmp.c b/monitor/hmp.c index e5f8b9c576e0..3c70adcd35bb 100644 --- a/monitor/hmp.c +++ b/monitor/hmp.c @@ -1725,13 +1725,15 @@ void monitor_register_hmp_info_hrt(const char *name, static int get_monitor_def(MonitorHMP *hmp, int64_t *pval, const char *name) { CPUState *cs = monitor_hmp_get_cpu(hmp); - const MonitorDef *md; + const MonitorDef *md = NULL; void *ptr; if (cs == NULL) { return -1; } +#ifdef CONFIG_HMP md = cs->cc->sysemu_ops->monitor_defs; +#endif if (md == NULL) { return -1; } diff --git a/target/i386/cpu.c b/target/i386/cpu.c index f0687b5c482d..84e805ee85e2 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -10853,6 +10853,7 @@ static const Property x86_cpu_properties[] = { #ifndef CONFIG_USER_ONLY +#ifdef CONFIG_HMP static int64_t monitor_get_pc(MonitorHMP *hmp, const struct MonitorDef *md, int offset) { @@ -10878,6 +10879,7 @@ static const MonitorDef x86_monitor_defs[] = { { NULL }, #undef SEG }; +#endif #include "hw/core/sysemu-cpu-ops.h" @@ -10892,7 +10894,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 ce2707dee5aa..aafcca3489b3 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 1bc14b586bb9..ae9bdca9df82 100644 --- a/target/sparc/cpu.c +++ b/target/sparc/cpu.c @@ -997,7 +997,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) }, @@ -1009,6 +1009,7 @@ static const MonitorDef sparc64_monitor_defs[] = { { NULL }, }; #endif +#endif #include "hw/core/sysemu-cpu-ops.h" @@ -1016,7 +1017,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.55.0.543.g5ebe2ebe4ea8