[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 2/3] target/s390x: display deprecation note in '-cpu help'
From: |
Daniel P . Berrangé |
Subject: |
[PATCH 2/3] target/s390x: display deprecation note in '-cpu help' |
Date: |
Thu, 14 Jul 2022 16:07:34 +0100 |
The deprecation notes are currently only displayed at runtime when the
user activates a CPU. The QMP query displays a simple flag for
deprecation, while '-cpu help' displays nothing unless the deprecation
info is duplicated into the 'notes' field.
This changes the code so that deprecation notes are explicitly shown
in '-cpu help', to assist the user in deciding what to use.
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
target/s390x/cpu_models.c | 28 +++++++++++++++++++++++-----
1 file changed, 23 insertions(+), 5 deletions(-)
diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c
index 1a562d2801..a04375896d 100644
--- a/target/s390x/cpu_models.c
+++ b/target/s390x/cpu_models.c
@@ -334,18 +334,36 @@ const S390CPUDef *s390_find_cpu_def(uint16_t type,
uint8_t gen, uint8_t ec_ga,
static void s390_print_cpu_model_list_entry(gpointer data, gpointer user_data)
{
const S390CPUClass *scc = S390_CPU_CLASS((ObjectClass *)data);
+ CPUClass *cc = CPU_CLASS(scc);
char *name = g_strdup(object_class_get_name((ObjectClass *)data));
- const char *details = "";
+ g_autoptr(GString) details = g_string_new("(");
if (scc->is_static) {
- details = "(static, migration-safe)";
- } else if (scc->is_migration_safe) {
- details = "(migration-safe)";
+ g_string_append(details, "static");
+ }
+ if (scc->is_migration_safe) {
+ if (details->len > 1) {
+ g_string_append(details, ", ");
+ }
+ g_string_append(details, "migration-safe");
+ }
+ if (cc->deprecation_note) {
+ if (details->len > 1) {
+ g_string_append(details, ", ");
+ }
+ g_string_append(details, "deprecated: ");
+ g_string_append(details, cc->deprecation_note);
+ }
+ if (details->len > 1) {
+ g_string_append(details, ")");
+ }
+ if (details->len == 1) {
+ g_string_truncate(details, 0);
}
/* strip off the -s390x-cpu */
g_strrstr(name, "-" TYPE_S390_CPU)[0] = 0;
- qemu_printf("s390 %-15s %-35s %s\n", name, scc->desc, details);
+ qemu_printf("s390 %-15s %-35s %s\n", name, scc->desc, details->str);
g_free(name);
}
--
2.36.1