The names of supported CPU models instead of CPU types should be
printed when the user specified CPU type isn't supported, to be
consistent with the output from '-cpu ?'.
Correct the error messages to print CPU model names instead of CPU
type names.
Signed-off-by: Gavin Shan <gshan@redhat.com>
---
hw/core/machine.c | 21 +++++++++++++++------
1 file changed, 15 insertions(+), 6 deletions(-)
diff --git a/hw/core/machine.c b/hw/core/machine.c
index d19aec11a3..2cdebcffaf 100644
--- a/hw/core/machine.c
+++ b/hw/core/machine.c
@@ -1392,6 +1392,7 @@ static void is_cpu_type_supported(const MachineState *machine, Error **errp)
MachineClass *mc = MACHINE_GET_CLASS(machine);
ObjectClass *oc = object_class_by_name(machine->cpu_type);
CPUClass *cc;
+ char *model;
int i;
/*
@@ -1408,17 +1409,25 @@ static void is_cpu_type_supported(const MachineState *machine, Error **errp)
/* The user specified CPU type isn't valid */
if (!mc->valid_cpu_types[i]) {
- error_setg(errp, "Invalid CPU type: %s", machine->cpu_type);
+ model = cpu_model_from_type(machine->cpu_type);
+ g_assert(model != NULL);
+ error_setg(errp, "Invalid CPU type: %s", model);
+ g_free(model);
+
+ model = cpu_model_from_type(mc->valid_cpu_types[0]);
+ g_assert(model != NULL);
if (!mc->valid_cpu_types[1]) {
- error_append_hint(errp, "The only valid type is: %s",
- mc->valid_cpu_types[0]);
+ error_append_hint(errp, "The only valid type is: %s", model);
} else {
- error_append_hint(errp, "The valid types are: %s",
- mc->valid_cpu_types[0]);
+ error_append_hint(errp, "The valid types are: %s", model);
}
+ g_free(model);
for (i = 1; mc->valid_cpu_types[i]; i++) {
- error_append_hint(errp, ", %s", mc->valid_cpu_types[i]);
+ model = cpu_model_from_type(mc->valid_cpu_types[i]);
+ g_assert(model != NULL);
+ error_append_hint(errp, ", %s", model);
+ g_free(model);
}
error_append_hint(errp, "\n");
--
2.41.0