From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53071) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UyubV-0006HJ-Rx for qemu-devel@nongnu.org; Mon, 15 Jul 2013 22:03:02 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UyubV-0006VN-30 for qemu-devel@nongnu.org; Mon, 15 Jul 2013 22:03:01 -0400 Received: from mail-pb0-x230.google.com ([2607:f8b0:400e:c01::230]:56533) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UyubU-0006VC-MY for qemu-devel@nongnu.org; Mon, 15 Jul 2013 22:03:00 -0400 Received: by mail-pb0-f48.google.com with SMTP id ma3so136095pbc.7 for ; Mon, 15 Jul 2013 19:02:59 -0700 (PDT) Received: from localhost.localdomain ([114.247.222.194]) by mx.google.com with ESMTPSA id bs3sm63603001pbc.42.2013.07.15.19.02.48 for (version=TLSv1 cipher=RC4-SHA bits=128/128); Mon, 15 Jul 2013 19:02:58 -0700 (PDT) From: Jia Liu Date: Tue, 16 Jul 2013 10:00:29 +0800 Message-Id: <1373940029-7455-5-git-send-email-proljc@gmail.com> In-Reply-To: <1373940029-7455-1-git-send-email-proljc@gmail.com> References: <1373940029-7455-1-git-send-email-proljc@gmail.com> Content-Type: text/plain; charset="utf-8" Subject: [Qemu-devel] [PATCH 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)