mirror of https://github.com/xqemu/xqemu.git
qom/cpu: move cpu_model null check to cpu_class_by_name()
and clean every implementation. Suggested-by: Eduardo Habkost <ehabkost@redhat.com> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Message-Id: <20170917232842.14544-1-f4bug@amsat.org> Reviewed-by: Igor Mammedov <imammedo@redhat.com> Reviewed-by: Laurent Vivier <laurent@vivier.eu> Reviewed-by: Artyom Tarasenko <atar4qemu@gmail.com> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
This commit is contained in:
parent
530049bc1d
commit
8301ea444a
|
@ -316,7 +316,12 @@ static bool cpu_common_has_work(CPUState *cs)
|
||||||
|
|
||||||
ObjectClass *cpu_class_by_name(const char *typename, const char *cpu_model)
|
ObjectClass *cpu_class_by_name(const char *typename, const char *cpu_model)
|
||||||
{
|
{
|
||||||
CPUClass *cc = CPU_CLASS(object_class_by_name(typename));
|
CPUClass *cc;
|
||||||
|
|
||||||
|
if (!cpu_model) {
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
cc = CPU_CLASS(object_class_by_name(typename));
|
||||||
|
|
||||||
return cc->class_by_name(cpu_model);
|
return cc->class_by_name(cpu_model);
|
||||||
}
|
}
|
||||||
|
|
|
@ -127,14 +127,10 @@ static const AlphaCPUAlias alpha_cpu_aliases[] = {
|
||||||
|
|
||||||
static ObjectClass *alpha_cpu_class_by_name(const char *cpu_model)
|
static ObjectClass *alpha_cpu_class_by_name(const char *cpu_model)
|
||||||
{
|
{
|
||||||
ObjectClass *oc = NULL;
|
ObjectClass *oc;
|
||||||
char *typename;
|
char *typename;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if (cpu_model == NULL) {
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
oc = object_class_by_name(cpu_model);
|
oc = object_class_by_name(cpu_model);
|
||||||
if (oc != NULL && object_class_dynamic_cast(oc, TYPE_ALPHA_CPU) != NULL &&
|
if (oc != NULL && object_class_dynamic_cast(oc, TYPE_ALPHA_CPU) != NULL &&
|
||||||
!object_class_is_abstract(oc)) {
|
!object_class_is_abstract(oc)) {
|
||||||
|
|
|
@ -939,10 +939,6 @@ static ObjectClass *arm_cpu_class_by_name(const char *cpu_model)
|
||||||
char *typename;
|
char *typename;
|
||||||
char **cpuname;
|
char **cpuname;
|
||||||
|
|
||||||
if (!cpu_model) {
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
cpuname = g_strsplit(cpu_model, ",", 1);
|
cpuname = g_strsplit(cpu_model, ",", 1);
|
||||||
typename = g_strdup_printf(ARM_CPU_TYPE_NAME("%s"), cpuname[0]);
|
typename = g_strdup_printf(ARM_CPU_TYPE_NAME("%s"), cpuname[0]);
|
||||||
oc = object_class_by_name(typename);
|
oc = object_class_by_name(typename);
|
||||||
|
|
|
@ -69,10 +69,6 @@ static ObjectClass *cris_cpu_class_by_name(const char *cpu_model)
|
||||||
ObjectClass *oc;
|
ObjectClass *oc;
|
||||||
char *typename;
|
char *typename;
|
||||||
|
|
||||||
if (cpu_model == NULL) {
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
#if defined(CONFIG_USER_ONLY)
|
#if defined(CONFIG_USER_ONLY)
|
||||||
if (strcasecmp(cpu_model, "any") == 0) {
|
if (strcasecmp(cpu_model, "any") == 0) {
|
||||||
return object_class_by_name("crisv32-" TYPE_CRIS_CPU);
|
return object_class_by_name("crisv32-" TYPE_CRIS_CPU);
|
||||||
|
|
|
@ -246,10 +246,6 @@ static ObjectClass *lm32_cpu_class_by_name(const char *cpu_model)
|
||||||
ObjectClass *oc;
|
ObjectClass *oc;
|
||||||
char *typename;
|
char *typename;
|
||||||
|
|
||||||
if (cpu_model == NULL) {
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
typename = g_strdup_printf("%s-" TYPE_LM32_CPU, cpu_model);
|
typename = g_strdup_printf("%s-" TYPE_LM32_CPU, cpu_model);
|
||||||
oc = object_class_by_name(typename);
|
oc = object_class_by_name(typename);
|
||||||
g_free(typename);
|
g_free(typename);
|
||||||
|
|
|
@ -87,10 +87,6 @@ static ObjectClass *m68k_cpu_class_by_name(const char *cpu_model)
|
||||||
ObjectClass *oc;
|
ObjectClass *oc;
|
||||||
char *typename;
|
char *typename;
|
||||||
|
|
||||||
if (cpu_model == NULL) {
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
typename = g_strdup_printf("%s-" TYPE_M68K_CPU, cpu_model);
|
typename = g_strdup_printf("%s-" TYPE_M68K_CPU, cpu_model);
|
||||||
oc = object_class_by_name(typename);
|
oc = object_class_by_name(typename);
|
||||||
g_free(typename);
|
g_free(typename);
|
||||||
|
|
|
@ -166,10 +166,6 @@ static ObjectClass *mips_cpu_class_by_name(const char *cpu_model)
|
||||||
ObjectClass *oc;
|
ObjectClass *oc;
|
||||||
char *typename;
|
char *typename;
|
||||||
|
|
||||||
if (cpu_model == NULL) {
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
typename = mips_cpu_type_name(cpu_model);
|
typename = mips_cpu_type_name(cpu_model);
|
||||||
oc = object_class_by_name(typename);
|
oc = object_class_by_name(typename);
|
||||||
g_free(typename);
|
g_free(typename);
|
||||||
|
|
|
@ -89,13 +89,7 @@ static void moxie_cpu_initfn(Object *obj)
|
||||||
|
|
||||||
static ObjectClass *moxie_cpu_class_by_name(const char *cpu_model)
|
static ObjectClass *moxie_cpu_class_by_name(const char *cpu_model)
|
||||||
{
|
{
|
||||||
ObjectClass *oc;
|
ObjectClass *oc = object_class_by_name(cpu_model);
|
||||||
|
|
||||||
if (cpu_model == NULL) {
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
oc = object_class_by_name(cpu_model);
|
|
||||||
if (oc != NULL && (!object_class_dynamic_cast(oc, TYPE_MOXIE_CPU) ||
|
if (oc != NULL && (!object_class_dynamic_cast(oc, TYPE_MOXIE_CPU) ||
|
||||||
object_class_is_abstract(oc))) {
|
object_class_is_abstract(oc))) {
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
|
@ -108,10 +108,6 @@ static ObjectClass *openrisc_cpu_class_by_name(const char *cpu_model)
|
||||||
ObjectClass *oc;
|
ObjectClass *oc;
|
||||||
char *typename;
|
char *typename;
|
||||||
|
|
||||||
if (cpu_model == NULL) {
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
typename = g_strdup_printf("%s-" TYPE_OPENRISC_CPU, cpu_model);
|
typename = g_strdup_printf("%s-" TYPE_OPENRISC_CPU, cpu_model);
|
||||||
oc = object_class_by_name(typename);
|
oc = object_class_by_name(typename);
|
||||||
g_free(typename);
|
g_free(typename);
|
||||||
|
|
|
@ -133,9 +133,6 @@ static ObjectClass *superh_cpu_class_by_name(const char *cpu_model)
|
||||||
ObjectClass *oc;
|
ObjectClass *oc;
|
||||||
GSList *list, *item;
|
GSList *list, *item;
|
||||||
|
|
||||||
if (cpu_model == NULL) {
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
if (strcasecmp(cpu_model, "any") == 0) {
|
if (strcasecmp(cpu_model, "any") == 0) {
|
||||||
return object_class_by_name(TYPE_SH7750R_CPU);
|
return object_class_by_name(TYPE_SH7750R_CPU);
|
||||||
}
|
}
|
||||||
|
|
|
@ -730,10 +730,6 @@ static ObjectClass *sparc_cpu_class_by_name(const char *cpu_model)
|
||||||
ObjectClass *oc;
|
ObjectClass *oc;
|
||||||
char *typename;
|
char *typename;
|
||||||
|
|
||||||
if (cpu_model == NULL) {
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
typename = sparc_cpu_type_name(cpu_model);
|
typename = sparc_cpu_type_name(cpu_model);
|
||||||
oc = object_class_by_name(typename);
|
oc = object_class_by_name(typename);
|
||||||
g_free(typename);
|
g_free(typename);
|
||||||
|
|
|
@ -120,10 +120,6 @@ static ObjectClass *tricore_cpu_class_by_name(const char *cpu_model)
|
||||||
ObjectClass *oc;
|
ObjectClass *oc;
|
||||||
char *typename;
|
char *typename;
|
||||||
|
|
||||||
if (!cpu_model) {
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
typename = g_strdup_printf("%s-" TYPE_TRICORE_CPU, cpu_model);
|
typename = g_strdup_printf("%s-" TYPE_TRICORE_CPU, cpu_model);
|
||||||
oc = object_class_by_name(typename);
|
oc = object_class_by_name(typename);
|
||||||
g_free(typename);
|
g_free(typename);
|
||||||
|
|
|
@ -44,10 +44,6 @@ static ObjectClass *uc32_cpu_class_by_name(const char *cpu_model)
|
||||||
ObjectClass *oc;
|
ObjectClass *oc;
|
||||||
char *typename;
|
char *typename;
|
||||||
|
|
||||||
if (cpu_model == NULL) {
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
typename = g_strdup_printf("%s-" TYPE_UNICORE32_CPU, cpu_model);
|
typename = g_strdup_printf("%s-" TYPE_UNICORE32_CPU, cpu_model);
|
||||||
oc = object_class_by_name(typename);
|
oc = object_class_by_name(typename);
|
||||||
g_free(typename);
|
g_free(typename);
|
||||||
|
|
|
@ -83,10 +83,6 @@ static ObjectClass *xtensa_cpu_class_by_name(const char *cpu_model)
|
||||||
ObjectClass *oc;
|
ObjectClass *oc;
|
||||||
char *typename;
|
char *typename;
|
||||||
|
|
||||||
if (cpu_model == NULL) {
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
typename = g_strdup_printf("%s-" TYPE_XTENSA_CPU, cpu_model);
|
typename = g_strdup_printf("%s-" TYPE_XTENSA_CPU, cpu_model);
|
||||||
oc = object_class_by_name(typename);
|
oc = object_class_by_name(typename);
|
||||||
g_free(typename);
|
g_free(typename);
|
||||||
|
|
Loading…
Reference in New Issue