Eduardo Habkost <ehabk...@redhat.com> writes:

> Instead of requiring clients to actually call the query-cpu-*
> commands to find out if they are implemented, remove them from
> the output of "query-commands", so clients know they are not
> available.
>
> This is implemented by extending the existing hack at
> qmp_unregister_commands_hack(). I wish I could avoid adding even
> more #ifdefs to that code, but that's the solution we have today.
>
> Signed-off-by: Eduardo Habkost <ehabk...@redhat.com>
> ---
> Changes v1 -> v2:
> * Instead of adding new qmp_commands_init() and
>   arch_qmp_commands_init() functions, simply extend the hack at
>   qmp_unregister_commands_hack()
> ---
>  monitor.c | 9 +++++++++
>  1 file changed, 9 insertions(+)
>
> diff --git a/monitor.c b/monitor.c
> index 83c4edf..4ff74b7 100644
> --- a/monitor.c
> +++ b/monitor.c
> @@ -992,6 +992,15 @@ static void qmp_unregister_commands_hack(void)
>  #ifndef TARGET_ARM
>      qmp_unregister_command("query-gic-capabilities");
>  #endif
> +#if !defined(TARGET_S390X)
> +    qmp_unregister_command("query-cpu-model-expansion");
> +    qmp_unregister_command("query-cpu-model-baseline");
> +    qmp_unregister_command("query-cpu-model-comparison");
> +#endif
> +#if !defined(TARGET_PPC) && !defined(TARGET_ARM) && !defined(TARGET_I386) \
> +    && !defined(TARGET_S390X)
> +    qmp_unregister_command("query-cpu-definitions");
> +#endif
>  }
>  
>  static void qmp_init_marshal(void)

Reviewed-by: Markus Armbruster <arm...@redhat.com>

Reply via email to