From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36403) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V1BvG-0004oX-0Q for qemu-devel@nongnu.org; Mon, 22 Jul 2013 04:56:51 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1V1BvE-0003vu-V0 for qemu-devel@nongnu.org; Mon, 22 Jul 2013 04:56:49 -0400 Received: from mail-pa0-x232.google.com ([2607:f8b0:400e:c03::232]:38739) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V1BvE-0003vd-Nr for qemu-devel@nongnu.org; Mon, 22 Jul 2013 04:56:48 -0400 Received: by mail-pa0-f50.google.com with SMTP id fb1so6839374pad.37 for ; Mon, 22 Jul 2013 01:56:47 -0700 (PDT) Received: from localhost.localdomain ([198.71.88.170]) by mx.google.com with ESMTPSA id pq1sm34635306pbb.26.2013.07.22.01.56.45 for (version=TLSv1 cipher=RC4-SHA bits=128/128); Mon, 22 Jul 2013 01:56:46 -0700 (PDT) From: Jia Liu Date: Mon, 22 Jul 2013 16:56:22 +0800 Message-Id: <1374483382-12141-5-git-send-email-proljc@gmail.com> In-Reply-To: <1374483382-12141-1-git-send-email-proljc@gmail.com> References: <1374483382-12141-1-git-send-email-proljc@gmail.com> Content-Type: text/plain; charset="utf-8" Subject: [Qemu-devel] [PATCH v3 4/4] target-openrisc: Fix cpu_model by name List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Fix cpu_model by name, make any and or1200 works both OK. Signed-off-by: Jia Liu --- target-openrisc/cpu.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/target-openrisc/cpu.c b/target-openrisc/cpu.c index e348df0..6637166 100644 --- a/target-openrisc/cpu.c +++ b/target-openrisc/cpu.c @@ -100,11 +100,19 @@ static ObjectClass *openrisc_cpu_class_by_name(const char *cpu_model) typename = g_strdup_printf("%s-" TYPE_OPENRISC_CPU, cpu_model); oc = object_class_by_name(typename); g_free(typename); - if (oc != NULL && (!object_class_dynamic_cast(oc, TYPE_OPENRISC_CPU) || - object_class_is_abstract(oc))) { - return NULL; + + if (oc != NULL && object_class_dynamic_cast(oc, TYPE_OPENRISC_CPU) != NULL + && !object_class_is_abstract(oc)) { + return oc; } - return oc; + + oc = object_class_by_name(cpu_model); + if (oc != NULL && object_class_dynamic_cast(oc, TYPE_OPENRISC_CPU) != NULL + && !object_class_is_abstract(oc)) { + return oc; + } + + return NULL; } static void or1200_initfn(Object *obj) -- 1.7.12.4 (Apple Git-37)