[PATCH v3 40/49] qapi: make HMP-specific schema entries conditional on CONFIG_HMP
Marc-André Lureau <[email protected]>
| Newsgroups | gmane.comp.emulators.qemu |
|---|---|
| Message-ID | <[email protected]> |
Make the 'readline' value of MonitorMode and the 'human-monitor-command' command conditional on CONFIG_HMP, so they are only available when HMP support is compiled in. Signed-off-by: Marc-André Lureau <[email protected]> --- monitor/monitor.c | 8 +++++++- monitor/qmp-cmds.c | 2 ++ qapi/control.json | 4 +++- qapi/misc.json | 3 ++- 4 files changed, 14 insertions(+), 3 deletions(-) diff --git a/monitor/monitor.c b/monitor/monitor.c index da76e6e4ac19..da0c8eda86b0 100644 --- a/monitor/monitor.c +++ b/monitor/monitor.c @@ -740,13 +740,18 @@ int monitor_new(MonitorOptions *opts, bool allow_hmp, Error **errp) ERRP_GUARD(); if (!opts->has_mode) { - opts->mode = allow_hmp ? MONITOR_MODE_READLINE : MONITOR_MODE_CONTROL; + opts->mode = +#ifdef CONFIG_HMP + allow_hmp ? MONITOR_MODE_READLINE : +#endif + MONITOR_MODE_CONTROL; } switch (opts->mode) { case MONITOR_MODE_CONTROL: monitor_new_qmp(opts->id, opts->chardev, opts->pretty, errp); break; +#ifdef CONFIG_HMP case MONITOR_MODE_READLINE: if (!allow_hmp) { error_setg(errp, "Only QMP is supported"); @@ -758,6 +763,7 @@ int monitor_new(MonitorOptions *opts, bool allow_hmp, Error **errp) } monitor_new_hmp(opts->id, opts->chardev, true, errp); break; +#endif /* CONFIG_HMP */ default: g_assert_not_reached(); } diff --git a/monitor/qmp-cmds.c b/monitor/qmp-cmds.c index b16119f4858c..c9f24febdc96 100644 --- a/monitor/qmp-cmds.c +++ b/monitor/qmp-cmds.c @@ -162,6 +162,7 @@ void qmp_add_client(const char *protocol, const char *fdname, } } +#ifdef CONFIG_HMP char *qmp_human_monitor_command(const char *command_line, bool has_cpu_index, int64_t cpu_index, Error **errp) { @@ -187,6 +188,7 @@ out: object_unref(hmp); return output; } +#endif /* CONFIG_HMP */ static void __attribute__((__constructor__)) monitor_init_qmp_commands(void) { diff --git a/qapi/control.json b/qapi/control.json index 9a5302193d67..9898552814b1 100644 --- a/qapi/control.json +++ b/qapi/control.json @@ -186,7 +186,9 @@ # # Since: 5.0 ## -{ 'enum': 'MonitorMode', 'data': [ 'readline', 'control' ] } +{ 'enum': 'MonitorMode', 'data': [ + { 'name': 'readline', 'if': 'CONFIG_HMP' }, + 'control' ] } ## # @MonitorOptions: diff --git a/qapi/misc.json b/qapi/misc.json index 22b7afed9f65..a21ba61b96e0 100644 --- a/qapi/misc.json +++ b/qapi/misc.json @@ -247,7 +247,8 @@ { 'command': 'human-monitor-command', 'data': {'command-line': 'str', '*cpu-index': 'int'}, 'returns': 'str', - 'features': [ 'savevm-monitor-nodes' ] } + 'features': [ 'savevm-monitor-nodes' ], + 'if': 'CONFIG_HMP' } ## # @getfd: -- 2.55.0.543.g5ebe2ebe4ea8