qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] target: RFC: display deprecation note for '-cpu help'
@ 2022-07-14 15:07 Daniel P. Berrangé
  2022-07-14 15:07 ` [PATCH 1/3] target/i386: display deprecation note in " Daniel P. Berrangé
                   ` (4 more replies)
  0 siblings, 5 replies; 12+ messages in thread
From: Daniel P. Berrangé @ 2022-07-14 15:07 UTC (permalink / raw)
  To: qemu-devel
  Cc: qemu-s390x, Thomas Huth, qemu-arm, David Hildenbrand,
	Cornelia Huck, Richard Henderson, Peter Maydell,
	Daniel P. Berrangé

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 flag, but not the explanatory
reason.

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 the full deprecation message

eg

$ qemu-system-x86_64 -cpu help:
Available CPUs:
x86 486                   (alias configured by machine type) (deprecated: use at least 'Nehalem' / 'Opteron_G4', or 'host' / 'max')

I wonder if this is too verbose, and we should just do a
concise flag like approach, similar to QMP:

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

leaving the full message to be displayed at runtime ? I'm slightly
inclined to the simpler more concise output.

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 implemneted the '-cpu help'
logic independantly though, and unifying that code is not entirely
straightforward.

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

 target/arm/helper.c       | 10 +++++++++-
 target/i386/cpu.c         | 13 ++++++++++++-
 target/s390x/cpu_models.c | 28 +++++++++++++++++++++++-----
 3 files changed, 44 insertions(+), 7 deletions(-)

-- 
2.36.1



^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2022-07-18 10:00 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-07-14 15:07 [PATCH 0/3] target: RFC: display deprecation note for '-cpu help' Daniel P. Berrangé
2022-07-14 15:07 ` [PATCH 1/3] target/i386: display deprecation note in " Daniel P. Berrangé
2022-07-15  8:28   ` Cornelia Huck
2022-07-14 15:07 ` [PATCH 2/3] target/s390x: " Daniel P. Berrangé
2022-07-15  8:33   ` Cornelia Huck
2022-07-14 15:07 ` [PATCH 3/3] target/arm: " Daniel P. Berrangé
2022-07-15  8:37   ` Cornelia Huck
2022-07-15  8:45 ` [PATCH 0/3] target: RFC: display deprecation note for " Cornelia Huck
2022-07-18  9:25 ` Thomas Huth
2022-07-18  9:37   ` Cornelia Huck
2022-07-18  9:46     ` Daniel P. Berrangé
2022-07-18  9:58       ` Cornelia Huck

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).