* Marc-André Lureau ([email protected]) wrote:
> 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]>

Reviewed-by: Dr. David Alan Gilbert <[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
> 
-- 
 -----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   |_______/

Reply via email to