[PATCH v2 0/3] target: RFC: display deprecation flag for '-cpu help'

Daniel P. Berrangé posted 3 patches 1 year, 9 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20220722120224.2311982-1-berrange@redhat.com
Maintainers: Peter Maydell <peter.maydell@linaro.org>, David Hildenbrand <david@redhat.com>, Richard Henderson <richard.henderson@linaro.org>, Cornelia Huck <cohuck@redhat.com>, Thomas Huth <thuth@redhat.com>
target/arm/helper.c       |  7 ++++++-
target/i386/cpu.c         |  5 +++++
target/s390x/cpu_models.c | 23 ++++++++++++++++++-----
3 files changed, 29 insertions(+), 6 deletions(-)
[PATCH v2 0/3] target: RFC: display deprecation flag for '-cpu help'
Posted by Daniel P. Berrangé 1 year, 9 months ago
When querying '-cpu help' there is no presentation of fact that a
CPU may be deprecated. The user just has to try it and see if they
get a depecation message at runtime.  The QMP command for querying
CPUs report a deprecation bool flagreason.

The Icelake-Client CPU (removed in 6df39f5e583ca0f67bd934d1327f9ead2e3bd49c)
handled this by modifying the '.notes' section to add the word
'deprecated':

            {
                .version = 2,
                .note = "no TSX, deprecated",
                .alias = "Icelake-Client-noTSX",
                .props = (PropValue[]) {
                    { "hle", "off" },
                    { "rtm", "off" },
                    { /* end of list */ }
                },
            },

This relies on the person deprecating the CPU to remember to do this,
and is redundant when this info is already expressed in the
'.deprecation_note' field.

This short series suggests just modifying the '-cpu help'
formatter so that it displays '(deprecated)' next to any
CPUs

eg

$ qemu-system-x86_64 -cpu help:
Available CPUs:
x86 486                   (alias configured by machine type) (deprecated)

This series touched x86_64, s390x, and aarch64 because that's all I
personally needed from a downstream POV, but any & all of the targets
would benefit from this. They have each implemented the '-cpu help'
logic independantly though, and unifying that code is not entirely
straightforward.

Changed in v2:

  - Just include "deprecated" as a flag, not full description
    which made the output too verbose and long lines.

Daniel P. Berrangé (3):
  target/i386: display deprecation status in '-cpu help'
  target/s390x: display deprecation status in '-cpu help'
  target/arm: display deprecation status in '-cpu help'

 target/arm/helper.c       |  7 ++++++-
 target/i386/cpu.c         |  5 +++++
 target/s390x/cpu_models.c | 23 ++++++++++++++++++-----
 3 files changed, 29 insertions(+), 6 deletions(-)

-- 
2.36.1