mirror of https://github.com/xemu-project/xemu.git
target/s390x/cpu_model: Make check_compatibility() return boolean
As error.h suggested, the best practice for callee is to return something to indicate success / failure. With returned boolean, there's no need to check @err. Suggested-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Zhao Liu <zhao1.liu@intel.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Message-ID: <20240425031232.1586401-2-zhao1.liu@intel.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
This commit is contained in:
parent
5fee33d97a
commit
7c0c099a88
|
@ -510,7 +510,7 @@ static void check_compat_model_failed(Error **errp,
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void check_compatibility(const S390CPUModel *max_model,
|
static bool check_compatibility(const S390CPUModel *max_model,
|
||||||
const S390CPUModel *model, Error **errp)
|
const S390CPUModel *model, Error **errp)
|
||||||
{
|
{
|
||||||
ERRP_GUARD();
|
ERRP_GUARD();
|
||||||
|
@ -518,11 +518,11 @@ static void check_compatibility(const S390CPUModel *max_model,
|
||||||
|
|
||||||
if (model->def->gen > max_model->def->gen) {
|
if (model->def->gen > max_model->def->gen) {
|
||||||
check_compat_model_failed(errp, max_model, "Selected CPU generation is too new");
|
check_compat_model_failed(errp, max_model, "Selected CPU generation is too new");
|
||||||
return;
|
return false;
|
||||||
} else if (model->def->gen == max_model->def->gen &&
|
} else if (model->def->gen == max_model->def->gen &&
|
||||||
model->def->ec_ga > max_model->def->ec_ga) {
|
model->def->ec_ga > max_model->def->ec_ga) {
|
||||||
check_compat_model_failed(errp, max_model, "Selected CPU GA level is too new");
|
check_compat_model_failed(errp, max_model, "Selected CPU GA level is too new");
|
||||||
return;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef CONFIG_USER_ONLY
|
#ifndef CONFIG_USER_ONLY
|
||||||
|
@ -530,14 +530,14 @@ static void check_compatibility(const S390CPUModel *max_model,
|
||||||
error_setg(errp, "The unpack facility is not compatible with "
|
error_setg(errp, "The unpack facility is not compatible with "
|
||||||
"the --only-migratable option. You must remove either "
|
"the --only-migratable option. You must remove either "
|
||||||
"the 'unpack' facility or the --only-migratable option");
|
"the 'unpack' facility or the --only-migratable option");
|
||||||
return;
|
return false;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* detect the missing features to properly report them */
|
/* detect the missing features to properly report them */
|
||||||
bitmap_andnot(missing, model->features, max_model->features, S390_FEAT_MAX);
|
bitmap_andnot(missing, model->features, max_model->features, S390_FEAT_MAX);
|
||||||
if (bitmap_empty(missing, S390_FEAT_MAX)) {
|
if (bitmap_empty(missing, S390_FEAT_MAX)) {
|
||||||
return;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
error_setg(errp, " ");
|
error_setg(errp, " ");
|
||||||
|
@ -546,6 +546,7 @@ static void check_compatibility(const S390CPUModel *max_model,
|
||||||
"available in the current configuration: ");
|
"available in the current configuration: ");
|
||||||
error_append_hint(errp,
|
error_append_hint(errp,
|
||||||
"Consider a different accelerator, QEMU, or kernel version\n");
|
"Consider a different accelerator, QEMU, or kernel version\n");
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
S390CPUModel *get_max_cpu_model(Error **errp)
|
S390CPUModel *get_max_cpu_model(Error **errp)
|
||||||
|
@ -605,8 +606,7 @@ void s390_realize_cpu_model(CPUState *cs, Error **errp)
|
||||||
cpu->model->cpu_ver = max_model->cpu_ver;
|
cpu->model->cpu_ver = max_model->cpu_ver;
|
||||||
|
|
||||||
check_consistency(cpu->model);
|
check_consistency(cpu->model);
|
||||||
check_compatibility(max_model, cpu->model, &err);
|
if (!check_compatibility(max_model, cpu->model, &err)) {
|
||||||
if (err) {
|
|
||||||
error_propagate(errp, err);
|
error_propagate(errp, err);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue