From nobody Thu Nov 28 09:39:49 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1694047090; cv=none; d=zohomail.com; s=zohoarc; b=iWq67DNXAf3JO7pXhzfixty8ZYsVB4MvDapVmVp14smCcc+SKbv84YYOaKYHc9sW9ieyHk6WmktAc1LcDBJG/q3bpi/2tz1KK2XPQn2bS6pakLAEelxPXZ5Q2QZipDmbYmG46pwxmcEmidPvEEzAEtlB7OrZzlcS77nnuGKmgnM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1694047090; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=SU2uNXM/JVMRD9b21hRMqUycunFyZR4XoqcrmMGASWU=; b=WRN2J2ctn5gwGJZVTja81IzqBoWOqYktkdSzJT2qu3ApppQxpagNv11qXsfZ/Ev6Ngc8cK37xMDwu14l008L9rw/I6SdNQnYfmwEBeoJDr/iA95+ZQJLRoitUiQ0guQBNH5IxDDBRTxcC+5S2LUIFmm+ylECxZA6iy2CzUqVvw4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1694047090422785.7796002332714; Wed, 6 Sep 2023 17:38:10 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qe31k-0003M7-CP; Wed, 06 Sep 2023 20:37:44 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qe31h-0003Ec-U3 for qemu-devel@nongnu.org; Wed, 06 Sep 2023 20:37:41 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qe31f-0000mX-3Z for qemu-devel@nongnu.org; Wed, 06 Sep 2023 20:37:41 -0400 Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-306-moCBs20vP4ORHGcsMRSneA-1; Wed, 06 Sep 2023 20:37:34 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.rdu2.redhat.com [10.11.54.8]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 2A9B98015AA; Thu, 7 Sep 2023 00:37:32 +0000 (UTC) Received: from gshan.redhat.com (unknown [10.64.136.25]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 740E8C03295; Thu, 7 Sep 2023 00:37:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1694047057; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=SU2uNXM/JVMRD9b21hRMqUycunFyZR4XoqcrmMGASWU=; b=OifaNqkvh+BSPAkpEEyp/s7nQGlKZMk0cCRjgvpCW9PjH+w7eLxfXnw1HOA4A7i+JJvRGJ 1RWX8R8WPOGkyP9EQxvrbEPp33n4rEdnBc0BcGc3he+1NS6thXE+4Wzz8uhIW6U6e2BdcB g/MyM9q9gDlu4TqzvkQ/hvrQtn7u9Ao= X-MC-Unique: moCBs20vP4ORHGcsMRSneA-1 From: Gavin Shan To: qemu-arm@nongnu.org Cc: qemu-devel@nongnu.org, qemu-riscv@nongnu.org, qemu-ppc@nongnu.org, qemu-s390x@nongnu.org, imp@bsdimp.com, kevans@freebsd.org, eduardo@habkost.net, marcel.apfelbaum@gmail.com, philmd@linaro.org, wangyanan55@huawei.com, peter.maydell@linaro.org, b.galvani@gmail.com, strahinja.p.jankovic@gmail.com, sundeep.lkml@gmail.com, kfting@nuvoton.com, wuhaotsh@google.com, nieklinnenbank@gmail.com, rad@semihalf.com, quic_llindhol@quicinc.com, marcin.juszkiewicz@linaro.org, laurent@vivier.eu, vijai@behindbytes.com, palmer@dabbelt.com, alistair.francis@wdc.com, bin.meng@windriver.com, liweiwei@iscas.ac.cn, dbarboza@ventanamicro.com, zhiwei_liu@linux.alibaba.com, richard.henderson@linaro.org, mrolnik@gmail.com, edgar.iglesias@gmail.com, bcain@quicinc.com, gaosong@loongson.cn, yangxiaojuan@loongson.cn, aurelien@aurel32.net, jiaxun.yang@flygoat.com, aleksandar.rikalo@syrmia.com, chenhuacai@kernel.org, crwulff@gmail.com, marex@denx.de, shorne@gmail.com, clg@kaod.org, david@gibson.dropbear.id.au, groug@kaod.org, npiggin@gmail.com, ysato@users.sourceforge.jp, david@redhat.com, thuth@redhat.com, iii@linux.ibm.com, mark.cave-ayland@ilande.co.uk, atar4qemu@gmail.com, kbastian@mail.uni-paderborn.de, jcmvbkbc@gmail.com, pbonzini@redhat.com, imammedo@redhat.com, shan.gavin@gmail.com Subject: [PATCH v3 04/32] target/avr: Use generic helper to show CPU model names Date: Thu, 7 Sep 2023 10:35:25 +1000 Message-ID: <20230907003553.1636896-5-gshan@redhat.com> In-Reply-To: <20230907003553.1636896-1-gshan@redhat.com> References: <20230907003553.1636896-1-gshan@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.1 on 10.11.54.8 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=gshan@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1694047092691100015 Content-Type: text/plain; charset="utf-8" For target/avr, the CPU model name is resolved as same to the CPU type name in avr_cpu_class_by_name(). Actually, the CPU model name is the combination of the CPU model name and suffix. Support the resolution from the combination of CPU model name and suffix to the CPU type name in avr_cpu_class_by_name(), and use the generic helper cpu_model_from_type() to show CPU model names in cpu_list(), with adjusted format to match with other targets. Signed-off-by: Gavin Shan --- target/avr/cpu.c | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/target/avr/cpu.c b/target/avr/cpu.c index 8f741f258c..cef9f84e32 100644 --- a/target/avr/cpu.c +++ b/target/avr/cpu.c @@ -157,13 +157,23 @@ static void avr_cpu_initfn(Object *obj) static ObjectClass *avr_cpu_class_by_name(const char *cpu_model) { ObjectClass *oc; + char *typename; =20 oc =3D object_class_by_name(cpu_model); - if (object_class_dynamic_cast(oc, TYPE_AVR_CPU) =3D=3D NULL || - object_class_is_abstract(oc)) { - oc =3D NULL; + if (object_class_dynamic_cast(oc, TYPE_AVR_CPU) && + !object_class_is_abstract(oc)) { + return oc; } - return oc; + + typename =3D g_strdup_printf(AVR_CPU_TYPE_NAME("%s"), cpu_model); + oc =3D object_class_by_name(typename); + g_free(typename); + if (object_class_dynamic_cast(oc, TYPE_AVR_CPU) && + !object_class_is_abstract(oc)) { + return oc; + } + + return NULL; } =20 static void avr_cpu_dump_state(CPUState *cs, FILE *f, int flags) @@ -366,14 +376,17 @@ typedef struct AVRCPUInfo { static void avr_cpu_list_entry(gpointer data, gpointer user_data) { const char *typename =3D object_class_get_name(OBJECT_CLASS(data)); + char *model =3D cpu_model_from_type(typename); =20 - qemu_printf("%s\n", typename); + qemu_printf(" %s\n", model); + g_free(model); } =20 void avr_cpu_list(void) { GSList *list; list =3D object_class_get_list_sorted(TYPE_AVR_CPU, false); + qemu_printf("Available CPUs:\n"); g_slist_foreach(list, avr_cpu_list_entry, NULL); g_slist_free(list); } --=20 2.41.0