From patchwork Mon May 3 17:12:58 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 1473269 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=I7sjXKHB; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4FYqWC0lc5z9sCD for ; Tue, 4 May 2021 03:20:55 +1000 (AEST) Received: from localhost ([::1]:60166 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ldcFZ-0007qg-30 for incoming@patchwork.ozlabs.org; Mon, 03 May 2021 13:20:53 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:48892) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ldc8A-0001jq-3e for qemu-devel@nongnu.org; Mon, 03 May 2021 13:13:14 -0400 Received: from mail-wm1-x331.google.com ([2a00:1450:4864:20::331]:35467) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ldc88-0003uf-CW for qemu-devel@nongnu.org; Mon, 03 May 2021 13:13:13 -0400 Received: by mail-wm1-x331.google.com with SMTP id j3-20020a05600c4843b02901484662c4ebso4500605wmo.0 for ; Mon, 03 May 2021 10:13:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=0/dStvpr9oyPCGk3CDC2TxGy21PRVsiBcyFEDxcgGiM=; b=I7sjXKHBoDNd58Rc9pkmfpqIxfjycdFz3g3/Yts6ROS8haeQJOgkWNgSTdywNEtcCq yXXfw7qGtEgDf/9pzbOSY57dXIlklgkmpDj0O4cBj8WdnwgUIzpaW+LIBxRSZ5Pk0rlp EKANl+/AbocktDlFEPmApckOaWh5OFGbCWTwSj232QToEdhyT60evbGSzI3ALO+JiR+7 qXMbWHyAJvFU+Eq8kI9KnZMjt683cTAKfXwwhC5kXSBf1uplUBgoiK+nEoDs6ob7iuzA PKRxQurOOnzHN3lnKyUSd9iJcoDNrzxaTaffZVP7MxqjTgZYH/jyGqrPUU3elCqiiGLn Gwzw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=0/dStvpr9oyPCGk3CDC2TxGy21PRVsiBcyFEDxcgGiM=; b=pI06r+ALZzNhqq1gFhsqCt58yBJ4v59pv6TGy8subIYCcNClWd9IoMaDCweGglwZzi q3gCEI8Ypz7xOPJNDE+LGBvl+Mf2Q0keEfsCpTn4H7LFqLO/7Y4BityOeRMtEfQeYEsn n1aqvMZy8POOcS6VmCU0SjKOmbIo4YeLdtOyHY+fxwRJs1x1EN9SlM2hC4xTAMKUPhHf ANoGxGOudqVx84ojmYvmMohEkGZDaU/7vmuAeNI23Esn37mhL9kLex5yBB3yokTLqoif 8bhzDJktLuBcEBbd1EiBDCQA/cOHcqkCCFC9fmuyW/taoyo6PSzFZGckOdslmOxLdatM Vb1w== X-Gm-Message-State: AOAM531ZRbv3cfskXH/tRltN4AJkYmpZlvCT5TxStenuDiq8F2EhWIvL /4gD/PznD3NxjYlo7UOfto1axKH/Rck3Cw== X-Google-Smtp-Source: ABdhPJwPx5f9PMTB5heVu3KrpzBfxzCEN3DIXjQq3PXTAWtYNNOPYefdQETP8Jr0lFJaiVM/jKig/w== X-Received: by 2002:a7b:c5c1:: with SMTP id n1mr32636408wmk.83.1620061990781; Mon, 03 May 2021 10:13:10 -0700 (PDT) Received: from x1w.redhat.com (anancy-651-1-208-144.w109-217.abo.wanadoo.fr. [109.217.237.144]) by smtp.gmail.com with ESMTPSA id z19sm29920wmf.47.2021.05.03.10.13.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 May 2021 10:13:10 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PATCH v3 1/6] hw/sparc/sun4m: Have sun4m machines inherit new TYPE_SUN4M_MACHINE Date: Mon, 3 May 2021 19:12:58 +0200 Message-Id: <20210503171303.822501-2-f4bug@amsat.org> X-Mailer: git-send-email 2.26.3 In-Reply-To: <20210503171303.822501-1-f4bug@amsat.org> References: <20210503171303.822501-1-f4bug@amsat.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::331; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-x331.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.249, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.25, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Richard Henderson , Mark Cave-Ayland , =?utf-8?q?Philippe_Mathie?= =?utf-8?q?u-Daud=C3=A9?= , Artyom Tarasenko Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" Introduce the TYPE_SUN4M_MACHINE and have all sun4m machines inherit it. Reviewed-by: Richard Henderson Signed-off-by: Philippe Mathieu-Daudé --- hw/sparc/sun4m.c | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/hw/sparc/sun4m.c b/hw/sparc/sun4m.c index 1a00816d9a8..9d07fa43d6a 100644 --- a/hw/sparc/sun4m.c +++ b/hw/sparc/sun4m.c @@ -107,6 +107,8 @@ struct sun4m_hwdef { uint8_t nvram_machine_id; }; +#define TYPE_SUN4M_MACHINE MACHINE_TYPE_NAME("sun4m-common") + const char *fw_cfg_arch_key_name(uint16_t key) { static const struct { @@ -1433,7 +1435,7 @@ static void ss5_class_init(ObjectClass *oc, void *data) static const TypeInfo ss5_type = { .name = MACHINE_TYPE_NAME("SS-5"), - .parent = TYPE_MACHINE, + .parent = TYPE_SUN4M_MACHINE, .class_init = ss5_class_init, }; @@ -1453,7 +1455,7 @@ static void ss10_class_init(ObjectClass *oc, void *data) static const TypeInfo ss10_type = { .name = MACHINE_TYPE_NAME("SS-10"), - .parent = TYPE_MACHINE, + .parent = TYPE_SUN4M_MACHINE, .class_init = ss10_class_init, }; @@ -1473,7 +1475,7 @@ static void ss600mp_class_init(ObjectClass *oc, void *data) static const TypeInfo ss600mp_type = { .name = MACHINE_TYPE_NAME("SS-600MP"), - .parent = TYPE_MACHINE, + .parent = TYPE_SUN4M_MACHINE, .class_init = ss600mp_class_init, }; @@ -1493,7 +1495,7 @@ static void ss20_class_init(ObjectClass *oc, void *data) static const TypeInfo ss20_type = { .name = MACHINE_TYPE_NAME("SS-20"), - .parent = TYPE_MACHINE, + .parent = TYPE_SUN4M_MACHINE, .class_init = ss20_class_init, }; @@ -1512,7 +1514,7 @@ static void voyager_class_init(ObjectClass *oc, void *data) static const TypeInfo voyager_type = { .name = MACHINE_TYPE_NAME("Voyager"), - .parent = TYPE_MACHINE, + .parent = TYPE_SUN4M_MACHINE, .class_init = voyager_class_init, }; @@ -1531,7 +1533,7 @@ static void ss_lx_class_init(ObjectClass *oc, void *data) static const TypeInfo ss_lx_type = { .name = MACHINE_TYPE_NAME("LX"), - .parent = TYPE_MACHINE, + .parent = TYPE_SUN4M_MACHINE, .class_init = ss_lx_class_init, }; @@ -1550,7 +1552,7 @@ static void ss4_class_init(ObjectClass *oc, void *data) static const TypeInfo ss4_type = { .name = MACHINE_TYPE_NAME("SS-4"), - .parent = TYPE_MACHINE, + .parent = TYPE_SUN4M_MACHINE, .class_init = ss4_class_init, }; @@ -1569,7 +1571,7 @@ static void scls_class_init(ObjectClass *oc, void *data) static const TypeInfo scls_type = { .name = MACHINE_TYPE_NAME("SPARCClassic"), - .parent = TYPE_MACHINE, + .parent = TYPE_SUN4M_MACHINE, .class_init = scls_class_init, }; @@ -1588,10 +1590,20 @@ static void sbook_class_init(ObjectClass *oc, void *data) static const TypeInfo sbook_type = { .name = MACHINE_TYPE_NAME("SPARCbook"), - .parent = TYPE_MACHINE, + .parent = TYPE_SUN4M_MACHINE, .class_init = sbook_class_init, }; +static const TypeInfo sun4m_machine_types[] = { + { + .name = TYPE_SUN4M_MACHINE, + .parent = TYPE_MACHINE, + .abstract = true, + } +}; + +DEFINE_TYPES(sun4m_machine_types) + static void sun4m_register_types(void) { type_register_static(&idreg_info); From patchwork Mon May 3 17:12:59 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 1473270 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=fut+/HAi; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4FYqYc0cFVz9sCD for ; Tue, 4 May 2021 03:23:00 +1000 (AEST) Received: from localhost ([::1]:40684 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ldcHa-00037f-4K for incoming@patchwork.ozlabs.org; Mon, 03 May 2021 13:22:58 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:48912) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ldc8I-0001qg-J5 for qemu-devel@nongnu.org; Mon, 03 May 2021 13:13:22 -0400 Received: from mail-wm1-x336.google.com ([2a00:1450:4864:20::336]:52077) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ldc8G-0003wc-K3 for qemu-devel@nongnu.org; Mon, 03 May 2021 13:13:22 -0400 Received: by mail-wm1-x336.google.com with SMTP id n205so2887299wmf.1 for ; Mon, 03 May 2021 10:13:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=VPdZzCfQsm6/ozIPjoRVe3c1QnbIfhcKwFX9/UMIFzg=; b=fut+/HAiqoODrUXgq/RoJrY1Xb/DiAF2MdM8xuG1aUNvDFNhoGBgylVZOp4IfNqAeN SczVnxT76GPHgQgT9Il9T9KLI0EjRinkOTnic/DdcjeoPnFqWZ2oEFPsxggSXJW1RW/w bW9BS03BQ7NXcAfMLqWN4YGqZwuaV7TaL4BH63CYWML7nqyIXR23nPzYO9HluWD95clm lW4mmoGSkU1+sZ94oAVUQB2ZFWdfqXhjNBDmOKrvsWk5vNGVXOnzemWUS5zJOiy48qV/ qyIt3BQ0m1L+N3tXs27pTKh1k8h7zmOeY7e8YaeHHmZpmdxe+xukzrHLeCmNDjAM3OUC KcSw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=VPdZzCfQsm6/ozIPjoRVe3c1QnbIfhcKwFX9/UMIFzg=; b=lfMikrTwzAaBcnqIleQTN4iQDX+uw570hnB4N37kbkWqSVOsmCFU+Skr8OzrUIqe6E tDQOF8ruAIJ1djsXjqQPDxzPtBTNtE4AGDZSLCmt7KvdqoLjMpg+sMBjOO66Hlrbw1dj A1qmQTBm1tCLJOI5F+O57Orxg0l7Xt6l12qsybYWkaJmkK4j4xov1QFEKxsfv4YhPusl O4hAkM0IqPgkxca3fiOyRBOucl/RLibFi6rUFRVAJjk2Lk0WOYpEXc6pFA6FY9njBVNV WzTmAQLJWNldjpv26qA4o/dXiYjj677aXnIhzQLYJSPIVorY/iNR/zkcItgYBmS9tOUH EnXg== X-Gm-Message-State: AOAM530UgzJKS0xV14UZJ6WLB6cWQD44T5SsJ6zhcwl+1jpx/Izkhbat C3kPDK5C6beEHcGi24Fg4em24UbN9YqRtg== X-Google-Smtp-Source: ABdhPJzjmwHxxPWrArEC8OelNYvWINKtYlAQWqhK8d4KMbanyXfjp4gjZvi10qyaHxA1PlhcOWr13Q== X-Received: by 2002:a1c:f305:: with SMTP id q5mr33226011wmq.96.1620061996002; Mon, 03 May 2021 10:13:16 -0700 (PDT) Received: from x1w.redhat.com (anancy-651-1-208-144.w109-217.abo.wanadoo.fr. [109.217.237.144]) by smtp.gmail.com with ESMTPSA id h14sm16225580wrq.45.2021.05.03.10.13.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 May 2021 10:13:15 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PATCH v3 2/6] hw/sparc/sun4m: Introduce Sun4mMachineClass Date: Mon, 3 May 2021 19:12:59 +0200 Message-Id: <20210503171303.822501-3-f4bug@amsat.org> X-Mailer: git-send-email 2.26.3 In-Reply-To: <20210503171303.822501-1-f4bug@amsat.org> References: <20210503171303.822501-1-f4bug@amsat.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::336; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-x336.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.249, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.25, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Richard Henderson , Mark Cave-Ayland , =?utf-8?q?Philippe_Mathie?= =?utf-8?q?u-Daud=C3=A9?= , Artyom Tarasenko Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" Instead of passing the sun4m_hwdef structure via machine_init(), store it into the MachineClass. Reviewed-by: Richard Henderson Signed-off-by: Philippe Mathieu-Daudé --- hw/sparc/sun4m.c | 50 +++++++++++++++++++++++++++++++++++++----------- 1 file changed, 39 insertions(+), 11 deletions(-) diff --git a/hw/sparc/sun4m.c b/hw/sparc/sun4m.c index 9d07fa43d6a..c2bc8a9fa50 100644 --- a/hw/sparc/sun4m.c +++ b/hw/sparc/sun4m.c @@ -107,7 +107,16 @@ struct sun4m_hwdef { uint8_t nvram_machine_id; }; +struct Sun4mMachineClass { + /*< private >*/ + MachineClass parent_obj; + /*< public >*/ + const struct sun4m_hwdef *hwdef; +}; +typedef struct Sun4mMachineClass Sun4mMachineClass; + #define TYPE_SUN4M_MACHINE MACHINE_TYPE_NAME("sun4m-common") +DECLARE_CLASS_CHECKERS(Sun4mMachineClass, SUN4M_MACHINE, TYPE_SUN4M_MACHINE) const char *fw_cfg_arch_key_name(uint16_t key) { @@ -839,9 +848,9 @@ static void dummy_fdc_tc(void *opaque, int irq, int level) { } -static void sun4m_hw_init(const struct sun4m_hwdef *hwdef, - MachineState *machine) +static void sun4m_hw_init(MachineState *machine) { + const struct sun4m_hwdef *hwdef = SUN4M_MACHINE_GET_CLASS(machine)->hwdef; DeviceState *slavio_intctl; unsigned int i; Nvram *nvram; @@ -1368,60 +1377,61 @@ static const struct sun4m_hwdef sun4m_hwdefs[] = { /* SPARCstation 5 hardware initialisation */ static void ss5_init(MachineState *machine) { - sun4m_hw_init(&sun4m_hwdefs[0], machine); + sun4m_hw_init(machine); } /* SPARCstation 10 hardware initialisation */ static void ss10_init(MachineState *machine) { - sun4m_hw_init(&sun4m_hwdefs[1], machine); + sun4m_hw_init(machine); } /* SPARCserver 600MP hardware initialisation */ static void ss600mp_init(MachineState *machine) { - sun4m_hw_init(&sun4m_hwdefs[2], machine); + sun4m_hw_init(machine); } /* SPARCstation 20 hardware initialisation */ static void ss20_init(MachineState *machine) { - sun4m_hw_init(&sun4m_hwdefs[3], machine); + sun4m_hw_init(machine); } /* SPARCstation Voyager hardware initialisation */ static void vger_init(MachineState *machine) { - sun4m_hw_init(&sun4m_hwdefs[4], machine); + sun4m_hw_init(machine); } /* SPARCstation LX hardware initialisation */ static void ss_lx_init(MachineState *machine) { - sun4m_hw_init(&sun4m_hwdefs[5], machine); + sun4m_hw_init(machine); } /* SPARCstation 4 hardware initialisation */ static void ss4_init(MachineState *machine) { - sun4m_hw_init(&sun4m_hwdefs[6], machine); + sun4m_hw_init(machine); } /* SPARCClassic hardware initialisation */ static void scls_init(MachineState *machine) { - sun4m_hw_init(&sun4m_hwdefs[7], machine); + sun4m_hw_init(machine); } /* SPARCbook hardware initialisation */ static void sbook_init(MachineState *machine) { - sun4m_hw_init(&sun4m_hwdefs[8], machine); + sun4m_hw_init(machine); } static void ss5_class_init(ObjectClass *oc, void *data) { MachineClass *mc = MACHINE_CLASS(oc); + Sun4mMachineClass *smc = SUN4M_MACHINE_CLASS(mc); mc->desc = "Sun4m platform, SPARCstation 5"; mc->init = ss5_init; @@ -1431,6 +1441,7 @@ static void ss5_class_init(ObjectClass *oc, void *data) mc->default_cpu_type = SPARC_CPU_TYPE_NAME("Fujitsu-MB86904"); mc->default_display = "tcx"; mc->default_ram_id = "sun4m.ram"; + smc->hwdef = &sun4m_hwdefs[0]; } static const TypeInfo ss5_type = { @@ -1442,6 +1453,7 @@ static const TypeInfo ss5_type = { static void ss10_class_init(ObjectClass *oc, void *data) { MachineClass *mc = MACHINE_CLASS(oc); + Sun4mMachineClass *smc = SUN4M_MACHINE_CLASS(mc); mc->desc = "Sun4m platform, SPARCstation 10"; mc->init = ss10_init; @@ -1451,6 +1463,7 @@ static void ss10_class_init(ObjectClass *oc, void *data) mc->default_cpu_type = SPARC_CPU_TYPE_NAME("TI-SuperSparc-II"); mc->default_display = "tcx"; mc->default_ram_id = "sun4m.ram"; + smc->hwdef = &sun4m_hwdefs[1]; } static const TypeInfo ss10_type = { @@ -1462,6 +1475,7 @@ static const TypeInfo ss10_type = { static void ss600mp_class_init(ObjectClass *oc, void *data) { MachineClass *mc = MACHINE_CLASS(oc); + Sun4mMachineClass *smc = SUN4M_MACHINE_CLASS(mc); mc->desc = "Sun4m platform, SPARCserver 600MP"; mc->init = ss600mp_init; @@ -1471,6 +1485,7 @@ static void ss600mp_class_init(ObjectClass *oc, void *data) mc->default_cpu_type = SPARC_CPU_TYPE_NAME("TI-SuperSparc-II"); mc->default_display = "tcx"; mc->default_ram_id = "sun4m.ram"; + smc->hwdef = &sun4m_hwdefs[2]; } static const TypeInfo ss600mp_type = { @@ -1482,6 +1497,7 @@ static const TypeInfo ss600mp_type = { static void ss20_class_init(ObjectClass *oc, void *data) { MachineClass *mc = MACHINE_CLASS(oc); + Sun4mMachineClass *smc = SUN4M_MACHINE_CLASS(mc); mc->desc = "Sun4m platform, SPARCstation 20"; mc->init = ss20_init; @@ -1491,6 +1507,7 @@ static void ss20_class_init(ObjectClass *oc, void *data) mc->default_cpu_type = SPARC_CPU_TYPE_NAME("TI-SuperSparc-II"); mc->default_display = "tcx"; mc->default_ram_id = "sun4m.ram"; + smc->hwdef = &sun4m_hwdefs[3]; } static const TypeInfo ss20_type = { @@ -1502,6 +1519,7 @@ static const TypeInfo ss20_type = { static void voyager_class_init(ObjectClass *oc, void *data) { MachineClass *mc = MACHINE_CLASS(oc); + Sun4mMachineClass *smc = SUN4M_MACHINE_CLASS(mc); mc->desc = "Sun4m platform, SPARCstation Voyager"; mc->init = vger_init; @@ -1510,6 +1528,7 @@ static void voyager_class_init(ObjectClass *oc, void *data) mc->default_cpu_type = SPARC_CPU_TYPE_NAME("Fujitsu-MB86904"); mc->default_display = "tcx"; mc->default_ram_id = "sun4m.ram"; + smc->hwdef = &sun4m_hwdefs[4]; } static const TypeInfo voyager_type = { @@ -1521,6 +1540,7 @@ static const TypeInfo voyager_type = { static void ss_lx_class_init(ObjectClass *oc, void *data) { MachineClass *mc = MACHINE_CLASS(oc); + Sun4mMachineClass *smc = SUN4M_MACHINE_CLASS(mc); mc->desc = "Sun4m platform, SPARCstation LX"; mc->init = ss_lx_init; @@ -1529,6 +1549,7 @@ static void ss_lx_class_init(ObjectClass *oc, void *data) mc->default_cpu_type = SPARC_CPU_TYPE_NAME("TI-MicroSparc-I"); mc->default_display = "tcx"; mc->default_ram_id = "sun4m.ram"; + smc->hwdef = &sun4m_hwdefs[5]; } static const TypeInfo ss_lx_type = { @@ -1540,6 +1561,7 @@ static const TypeInfo ss_lx_type = { static void ss4_class_init(ObjectClass *oc, void *data) { MachineClass *mc = MACHINE_CLASS(oc); + Sun4mMachineClass *smc = SUN4M_MACHINE_CLASS(mc); mc->desc = "Sun4m platform, SPARCstation 4"; mc->init = ss4_init; @@ -1548,6 +1570,7 @@ static void ss4_class_init(ObjectClass *oc, void *data) mc->default_cpu_type = SPARC_CPU_TYPE_NAME("Fujitsu-MB86904"); mc->default_display = "tcx"; mc->default_ram_id = "sun4m.ram"; + smc->hwdef = &sun4m_hwdefs[6]; } static const TypeInfo ss4_type = { @@ -1559,6 +1582,7 @@ static const TypeInfo ss4_type = { static void scls_class_init(ObjectClass *oc, void *data) { MachineClass *mc = MACHINE_CLASS(oc); + Sun4mMachineClass *smc = SUN4M_MACHINE_CLASS(mc); mc->desc = "Sun4m platform, SPARCClassic"; mc->init = scls_init; @@ -1567,6 +1591,7 @@ static void scls_class_init(ObjectClass *oc, void *data) mc->default_cpu_type = SPARC_CPU_TYPE_NAME("TI-MicroSparc-I"); mc->default_display = "tcx"; mc->default_ram_id = "sun4m.ram"; + smc->hwdef = &sun4m_hwdefs[7]; } static const TypeInfo scls_type = { @@ -1578,6 +1603,7 @@ static const TypeInfo scls_type = { static void sbook_class_init(ObjectClass *oc, void *data) { MachineClass *mc = MACHINE_CLASS(oc); + Sun4mMachineClass *smc = SUN4M_MACHINE_CLASS(mc); mc->desc = "Sun4m platform, SPARCbook"; mc->init = sbook_init; @@ -1586,6 +1612,7 @@ static void sbook_class_init(ObjectClass *oc, void *data) mc->default_cpu_type = SPARC_CPU_TYPE_NAME("TI-MicroSparc-I"); mc->default_display = "tcx"; mc->default_ram_id = "sun4m.ram"; + smc->hwdef = &sun4m_hwdefs[8]; } static const TypeInfo sbook_type = { @@ -1598,6 +1625,7 @@ static const TypeInfo sun4m_machine_types[] = { { .name = TYPE_SUN4M_MACHINE, .parent = TYPE_MACHINE, + .class_size = sizeof(Sun4mMachineClass), .abstract = true, } }; From patchwork Mon May 3 17:13:00 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 1473272 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=H6GDBC4X; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4FYqcx6GkPz9sCD for ; Tue, 4 May 2021 03:25:53 +1000 (AEST) Received: from localhost ([::1]:49392 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ldcKN-0006hr-Hs for incoming@patchwork.ozlabs.org; Mon, 03 May 2021 13:25:51 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:48934) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ldc8K-0001vu-Os for qemu-devel@nongnu.org; Mon, 03 May 2021 13:13:24 -0400 Received: from mail-wr1-x42f.google.com ([2a00:1450:4864:20::42f]:36833) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ldc8I-0003yd-Oo for qemu-devel@nongnu.org; Mon, 03 May 2021 13:13:24 -0400 Received: by mail-wr1-x42f.google.com with SMTP id m9so6383744wrx.3 for ; Mon, 03 May 2021 10:13:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=NSAUfhvZ8S+K3xT3LS2vCoaFcUxzcXCC2t65XqyqTdw=; b=H6GDBC4X4wjmY7GFvVGJz3aUZyrDxDM5gPJsZGDtai3t99ZY/t3EOGMUkQHL0RUdwU OSkdOuYuyBu400Bt1xnSGHu4zXd0kZq8pbp7gYVVTMyMiveLKXZFMrMmGuYzQBxLxaWr L9w24t7pXrpwkesc7Wwu2iTiA7BQ5CE3TCSj3sIVZ470h92mQngEW8mGv7CqK7wIKLcK N+9vRzAiW7raMQQB85pJB8etCfySSwT+XE7nYI9H5iOaTqxKyH0epBK8QpSlgrywx5mr FrUAhicBgZJ32rpanM/LQzuoo495yGkeTOBmAte3WaroXSVz3SU6zZezD8hwCtLHMW/F jc4w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=NSAUfhvZ8S+K3xT3LS2vCoaFcUxzcXCC2t65XqyqTdw=; b=OsPkbTSDQFUZNDU73uibB9wMVO1VZUDDlpSPPi1QQN8p8Rnop32qrk2lhwPAWlOAp/ ccWuBH6yKLUIweGEBgpjOqCQjevJgrD+dBGd883DQ42ooOGbQAKKwajT3OGygdDTJ57D eO4ytgKwMywObcPSmY6WeG0z0aN9h/+jGXoVIAQDtSChth4wnk6VKHXG2zJgDf72796j 03+qdrtruTJVEji0AONdX1UnTgurUdbvh7dbvbmCq6QjaA0B7sE6r49nb5Epg91qlJBk orCSMr/VybjDY65deX3joaKH5/traNuwxU6uDESYwKJdcKp/EjWDN34MbGeY9ULcNAkU yJdw== X-Gm-Message-State: AOAM531/szZbc36UV7aSr8EtdNkb0BjZxKWv1YeFT4g+RW4+3n0dJCr/ qIBfKuON4rLcK118P6e5feFOiBuUYzph3Q== X-Google-Smtp-Source: ABdhPJyhh7/gh/l1o0W5UuyE1IpMxhYcpiW0TiB4z1XD9ISiIiZTWbduLU6STLDiTywXTKrklCo1/w== X-Received: by 2002:adf:f190:: with SMTP id h16mr23352942wro.221.1620062001062; Mon, 03 May 2021 10:13:21 -0700 (PDT) Received: from x1w.redhat.com (anancy-651-1-208-144.w109-217.abo.wanadoo.fr. [109.217.237.144]) by smtp.gmail.com with ESMTPSA id a2sm9699733wrn.13.2021.05.03.10.13.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 May 2021 10:13:20 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PATCH v3 3/6] hw/sparc/sun4m: Factor out sun4m_machine_class_init() Date: Mon, 3 May 2021 19:13:00 +0200 Message-Id: <20210503171303.822501-4-f4bug@amsat.org> X-Mailer: git-send-email 2.26.3 In-Reply-To: <20210503171303.822501-1-f4bug@amsat.org> References: <20210503171303.822501-1-f4bug@amsat.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42f; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-x42f.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.249, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.25, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Richard Henderson , Mark Cave-Ayland , =?utf-8?q?Philippe_Mathie?= =?utf-8?q?u-Daud=C3=A9?= , Artyom Tarasenko Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" Factor out the class_init code common to all machines to sun4m_machine_class_init(). Reviewed-by: Richard Henderson Signed-off-by: Philippe Mathieu-Daudé --- hw/sparc/sun4m.c | 103 ++++------------------------------------------- 1 file changed, 8 insertions(+), 95 deletions(-) diff --git a/hw/sparc/sun4m.c b/hw/sparc/sun4m.c index c2bc8a9fa50..56f927e66ca 100644 --- a/hw/sparc/sun4m.c +++ b/hw/sparc/sun4m.c @@ -1374,58 +1374,15 @@ static const struct sun4m_hwdef sun4m_hwdefs[] = { }, }; -/* SPARCstation 5 hardware initialisation */ -static void ss5_init(MachineState *machine) +static void sun4m_machine_class_init(ObjectClass *oc, void *data) { - sun4m_hw_init(machine); -} + MachineClass *mc = MACHINE_CLASS(oc); -/* SPARCstation 10 hardware initialisation */ -static void ss10_init(MachineState *machine) -{ - sun4m_hw_init(machine); -} - -/* SPARCserver 600MP hardware initialisation */ -static void ss600mp_init(MachineState *machine) -{ - sun4m_hw_init(machine); -} - -/* SPARCstation 20 hardware initialisation */ -static void ss20_init(MachineState *machine) -{ - sun4m_hw_init(machine); -} - -/* SPARCstation Voyager hardware initialisation */ -static void vger_init(MachineState *machine) -{ - sun4m_hw_init(machine); -} - -/* SPARCstation LX hardware initialisation */ -static void ss_lx_init(MachineState *machine) -{ - sun4m_hw_init(machine); -} - -/* SPARCstation 4 hardware initialisation */ -static void ss4_init(MachineState *machine) -{ - sun4m_hw_init(machine); -} - -/* SPARCClassic hardware initialisation */ -static void scls_init(MachineState *machine) -{ - sun4m_hw_init(machine); -} - -/* SPARCbook hardware initialisation */ -static void sbook_init(MachineState *machine) -{ - sun4m_hw_init(machine); + mc->init = sun4m_hw_init; + mc->block_default_type = IF_SCSI; + mc->default_boot_order = "c"; + mc->default_display = "tcx"; + mc->default_ram_id = "sun4m.ram"; } static void ss5_class_init(ObjectClass *oc, void *data) @@ -1434,13 +1391,8 @@ static void ss5_class_init(ObjectClass *oc, void *data) Sun4mMachineClass *smc = SUN4M_MACHINE_CLASS(mc); mc->desc = "Sun4m platform, SPARCstation 5"; - mc->init = ss5_init; - mc->block_default_type = IF_SCSI; mc->is_default = true; - mc->default_boot_order = "c"; mc->default_cpu_type = SPARC_CPU_TYPE_NAME("Fujitsu-MB86904"); - mc->default_display = "tcx"; - mc->default_ram_id = "sun4m.ram"; smc->hwdef = &sun4m_hwdefs[0]; } @@ -1456,13 +1408,8 @@ static void ss10_class_init(ObjectClass *oc, void *data) Sun4mMachineClass *smc = SUN4M_MACHINE_CLASS(mc); mc->desc = "Sun4m platform, SPARCstation 10"; - mc->init = ss10_init; - mc->block_default_type = IF_SCSI; mc->max_cpus = 4; - mc->default_boot_order = "c"; mc->default_cpu_type = SPARC_CPU_TYPE_NAME("TI-SuperSparc-II"); - mc->default_display = "tcx"; - mc->default_ram_id = "sun4m.ram"; smc->hwdef = &sun4m_hwdefs[1]; } @@ -1478,13 +1425,8 @@ static void ss600mp_class_init(ObjectClass *oc, void *data) Sun4mMachineClass *smc = SUN4M_MACHINE_CLASS(mc); mc->desc = "Sun4m platform, SPARCserver 600MP"; - mc->init = ss600mp_init; - mc->block_default_type = IF_SCSI; mc->max_cpus = 4; - mc->default_boot_order = "c"; mc->default_cpu_type = SPARC_CPU_TYPE_NAME("TI-SuperSparc-II"); - mc->default_display = "tcx"; - mc->default_ram_id = "sun4m.ram"; smc->hwdef = &sun4m_hwdefs[2]; } @@ -1500,13 +1442,8 @@ static void ss20_class_init(ObjectClass *oc, void *data) Sun4mMachineClass *smc = SUN4M_MACHINE_CLASS(mc); mc->desc = "Sun4m platform, SPARCstation 20"; - mc->init = ss20_init; - mc->block_default_type = IF_SCSI; mc->max_cpus = 4; - mc->default_boot_order = "c"; mc->default_cpu_type = SPARC_CPU_TYPE_NAME("TI-SuperSparc-II"); - mc->default_display = "tcx"; - mc->default_ram_id = "sun4m.ram"; smc->hwdef = &sun4m_hwdefs[3]; } @@ -1522,12 +1459,7 @@ static void voyager_class_init(ObjectClass *oc, void *data) Sun4mMachineClass *smc = SUN4M_MACHINE_CLASS(mc); mc->desc = "Sun4m platform, SPARCstation Voyager"; - mc->init = vger_init; - mc->block_default_type = IF_SCSI; - mc->default_boot_order = "c"; mc->default_cpu_type = SPARC_CPU_TYPE_NAME("Fujitsu-MB86904"); - mc->default_display = "tcx"; - mc->default_ram_id = "sun4m.ram"; smc->hwdef = &sun4m_hwdefs[4]; } @@ -1543,12 +1475,7 @@ static void ss_lx_class_init(ObjectClass *oc, void *data) Sun4mMachineClass *smc = SUN4M_MACHINE_CLASS(mc); mc->desc = "Sun4m platform, SPARCstation LX"; - mc->init = ss_lx_init; - mc->block_default_type = IF_SCSI; - mc->default_boot_order = "c"; mc->default_cpu_type = SPARC_CPU_TYPE_NAME("TI-MicroSparc-I"); - mc->default_display = "tcx"; - mc->default_ram_id = "sun4m.ram"; smc->hwdef = &sun4m_hwdefs[5]; } @@ -1564,12 +1491,7 @@ static void ss4_class_init(ObjectClass *oc, void *data) Sun4mMachineClass *smc = SUN4M_MACHINE_CLASS(mc); mc->desc = "Sun4m platform, SPARCstation 4"; - mc->init = ss4_init; - mc->block_default_type = IF_SCSI; - mc->default_boot_order = "c"; mc->default_cpu_type = SPARC_CPU_TYPE_NAME("Fujitsu-MB86904"); - mc->default_display = "tcx"; - mc->default_ram_id = "sun4m.ram"; smc->hwdef = &sun4m_hwdefs[6]; } @@ -1585,12 +1507,7 @@ static void scls_class_init(ObjectClass *oc, void *data) Sun4mMachineClass *smc = SUN4M_MACHINE_CLASS(mc); mc->desc = "Sun4m platform, SPARCClassic"; - mc->init = scls_init; - mc->block_default_type = IF_SCSI; - mc->default_boot_order = "c"; mc->default_cpu_type = SPARC_CPU_TYPE_NAME("TI-MicroSparc-I"); - mc->default_display = "tcx"; - mc->default_ram_id = "sun4m.ram"; smc->hwdef = &sun4m_hwdefs[7]; } @@ -1606,12 +1523,7 @@ static void sbook_class_init(ObjectClass *oc, void *data) Sun4mMachineClass *smc = SUN4M_MACHINE_CLASS(mc); mc->desc = "Sun4m platform, SPARCbook"; - mc->init = sbook_init; - mc->block_default_type = IF_SCSI; - mc->default_boot_order = "c"; mc->default_cpu_type = SPARC_CPU_TYPE_NAME("TI-MicroSparc-I"); - mc->default_display = "tcx"; - mc->default_ram_id = "sun4m.ram"; smc->hwdef = &sun4m_hwdefs[8]; } @@ -1626,6 +1538,7 @@ static const TypeInfo sun4m_machine_types[] = { .name = TYPE_SUN4M_MACHINE, .parent = TYPE_MACHINE, .class_size = sizeof(Sun4mMachineClass), + .class_init = sun4m_machine_class_init, .abstract = true, } }; From patchwork Mon May 3 17:13:01 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 1473273 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=mVJUizJt; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4FYqg930V5z9sCD for ; Tue, 4 May 2021 03:27:49 +1000 (AEST) Received: from localhost ([::1]:56586 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ldcMF-0001Jj-Fd for incoming@patchwork.ozlabs.org; Mon, 03 May 2021 13:27:47 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:48972) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ldc8P-00027W-PR for qemu-devel@nongnu.org; Mon, 03 May 2021 13:13:29 -0400 Received: from mail-wm1-x329.google.com ([2a00:1450:4864:20::329]:37647) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ldc8N-000410-Q3 for qemu-devel@nongnu.org; Mon, 03 May 2021 13:13:29 -0400 Received: by mail-wm1-x329.google.com with SMTP id b11-20020a7bc24b0000b0290148da0694ffso3702934wmj.2 for ; Mon, 03 May 2021 10:13:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=0dWVeeH1/VoY4ITl3jZ5D7j6w2KZsbQ1Q/ra2PImi8Q=; b=mVJUizJtvJxJwCH1y4OvYt1wlaNH5KJkY3QW9UWLfnSyrygSg21ZY4u5OkW1yH4eYl 5X4faN3hIrtkujJeEpDC61n4cfqru9XyTnEpmydMhJhjGOg2ALy2lmyxERDG/eo81XBr Nw5t9pUf9jb5wxTKHuIHc6a91tAYOwIYfXCq6LOlFWYz/1WurNkHDNwQBeReoFeEBWVn LJXgCGHlH8x0l7jIfe/sMUWkukpEsGVgoEmLJvEKhslMWUaSFCK4Alqd9R9jnYw28OlO 7yG597dnlBSTqkqVLKxG0FKG3hHl04JEY4uP4rxfLTTiZNMhEK4WkU9g+Tv4WOes/cgs z9SQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=0dWVeeH1/VoY4ITl3jZ5D7j6w2KZsbQ1Q/ra2PImi8Q=; b=KTEdU6C0VIFrbBRI+6JiseqPsTe6rJorxUkx7qOZgvmiUAqbaHC2gAwH3A/UB9vz5V WMoRPn9C0ByaDKnfzE5DS88ZQ56mYrLjqJhq4WfIGUjl44F47uSlKK/dEPR503LkgmQ4 xmY0Sr4Zmv6+BsGn5s1sitF5NNT+f74Rs6+27CfjJRGnMwlqnUY8mDAtiVMjLSgyMsME iXR/lOJvrUeg9OeSMEPe8KBo25lYuCcwpL1qZLdwXZuC27y0Haapx08B7OuIHG8l19Y5 KMyZXDDhfD7i2I3wHMfzEs3ND4yOVPqKNFXhb3jzl/T1RXdu+tL4R5+ydc05uG/e8sk5 84TA== X-Gm-Message-State: AOAM532Y5vgQL67qNDg2eBrFQ+CR9Ou5VLqN/wS8GRafhIDQyjpyuJUW kLxfWN62t1QBGzqqsTaE5jxN+GlQdCqpZQ== X-Google-Smtp-Source: ABdhPJzPAew8Gja8ItJekPs8a+OTN3Vv35a/wStxffrRNVrF7rB8YAjemQppYmxNghy2xHIc6QY1/A== X-Received: by 2002:a1c:7fcd:: with SMTP id a196mr33636567wmd.180.1620062006007; Mon, 03 May 2021 10:13:26 -0700 (PDT) Received: from x1w.redhat.com (anancy-651-1-208-144.w109-217.abo.wanadoo.fr. [109.217.237.144]) by smtp.gmail.com with ESMTPSA id g19sm146255wme.48.2021.05.03.10.13.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 May 2021 10:13:25 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PATCH v3 4/6] hw/sparc/sun4m: Register machine types in sun4m_machine_types[] Date: Mon, 3 May 2021 19:13:01 +0200 Message-Id: <20210503171303.822501-5-f4bug@amsat.org> X-Mailer: git-send-email 2.26.3 In-Reply-To: <20210503171303.822501-1-f4bug@amsat.org> References: <20210503171303.822501-1-f4bug@amsat.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::329; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-x329.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.249, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.25, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Richard Henderson , Mark Cave-Ayland , =?utf-8?q?Philippe_Mathie?= =?utf-8?q?u-Daud=C3=A9?= , Artyom Tarasenko Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" Reviewed-by: Richard Henderson Signed-off-by: Philippe Mathieu-Daudé --- hw/sparc/sun4m.c | 100 +++++++++++++++++------------------------------ 1 file changed, 36 insertions(+), 64 deletions(-) diff --git a/hw/sparc/sun4m.c b/hw/sparc/sun4m.c index 56f927e66ca..a625c41cd37 100644 --- a/hw/sparc/sun4m.c +++ b/hw/sparc/sun4m.c @@ -1396,12 +1396,6 @@ static void ss5_class_init(ObjectClass *oc, void *data) smc->hwdef = &sun4m_hwdefs[0]; } -static const TypeInfo ss5_type = { - .name = MACHINE_TYPE_NAME("SS-5"), - .parent = TYPE_SUN4M_MACHINE, - .class_init = ss5_class_init, -}; - static void ss10_class_init(ObjectClass *oc, void *data) { MachineClass *mc = MACHINE_CLASS(oc); @@ -1413,12 +1407,6 @@ static void ss10_class_init(ObjectClass *oc, void *data) smc->hwdef = &sun4m_hwdefs[1]; } -static const TypeInfo ss10_type = { - .name = MACHINE_TYPE_NAME("SS-10"), - .parent = TYPE_SUN4M_MACHINE, - .class_init = ss10_class_init, -}; - static void ss600mp_class_init(ObjectClass *oc, void *data) { MachineClass *mc = MACHINE_CLASS(oc); @@ -1430,12 +1418,6 @@ static void ss600mp_class_init(ObjectClass *oc, void *data) smc->hwdef = &sun4m_hwdefs[2]; } -static const TypeInfo ss600mp_type = { - .name = MACHINE_TYPE_NAME("SS-600MP"), - .parent = TYPE_SUN4M_MACHINE, - .class_init = ss600mp_class_init, -}; - static void ss20_class_init(ObjectClass *oc, void *data) { MachineClass *mc = MACHINE_CLASS(oc); @@ -1447,12 +1429,6 @@ static void ss20_class_init(ObjectClass *oc, void *data) smc->hwdef = &sun4m_hwdefs[3]; } -static const TypeInfo ss20_type = { - .name = MACHINE_TYPE_NAME("SS-20"), - .parent = TYPE_SUN4M_MACHINE, - .class_init = ss20_class_init, -}; - static void voyager_class_init(ObjectClass *oc, void *data) { MachineClass *mc = MACHINE_CLASS(oc); @@ -1463,12 +1439,6 @@ static void voyager_class_init(ObjectClass *oc, void *data) smc->hwdef = &sun4m_hwdefs[4]; } -static const TypeInfo voyager_type = { - .name = MACHINE_TYPE_NAME("Voyager"), - .parent = TYPE_SUN4M_MACHINE, - .class_init = voyager_class_init, -}; - static void ss_lx_class_init(ObjectClass *oc, void *data) { MachineClass *mc = MACHINE_CLASS(oc); @@ -1479,12 +1449,6 @@ static void ss_lx_class_init(ObjectClass *oc, void *data) smc->hwdef = &sun4m_hwdefs[5]; } -static const TypeInfo ss_lx_type = { - .name = MACHINE_TYPE_NAME("LX"), - .parent = TYPE_SUN4M_MACHINE, - .class_init = ss_lx_class_init, -}; - static void ss4_class_init(ObjectClass *oc, void *data) { MachineClass *mc = MACHINE_CLASS(oc); @@ -1495,12 +1459,6 @@ static void ss4_class_init(ObjectClass *oc, void *data) smc->hwdef = &sun4m_hwdefs[6]; } -static const TypeInfo ss4_type = { - .name = MACHINE_TYPE_NAME("SS-4"), - .parent = TYPE_SUN4M_MACHINE, - .class_init = ss4_class_init, -}; - static void scls_class_init(ObjectClass *oc, void *data) { MachineClass *mc = MACHINE_CLASS(oc); @@ -1511,12 +1469,6 @@ static void scls_class_init(ObjectClass *oc, void *data) smc->hwdef = &sun4m_hwdefs[7]; } -static const TypeInfo scls_type = { - .name = MACHINE_TYPE_NAME("SPARCClassic"), - .parent = TYPE_SUN4M_MACHINE, - .class_init = scls_class_init, -}; - static void sbook_class_init(ObjectClass *oc, void *data) { MachineClass *mc = MACHINE_CLASS(oc); @@ -1527,14 +1479,44 @@ static void sbook_class_init(ObjectClass *oc, void *data) smc->hwdef = &sun4m_hwdefs[8]; } -static const TypeInfo sbook_type = { - .name = MACHINE_TYPE_NAME("SPARCbook"), - .parent = TYPE_SUN4M_MACHINE, - .class_init = sbook_class_init, -}; - static const TypeInfo sun4m_machine_types[] = { { + .name = MACHINE_TYPE_NAME("SS-5"), + .parent = TYPE_SUN4M_MACHINE, + .class_init = ss5_class_init, + }, { + .name = MACHINE_TYPE_NAME("SS-10"), + .parent = TYPE_SUN4M_MACHINE, + .class_init = ss10_class_init, + }, { + .name = MACHINE_TYPE_NAME("SS-600MP"), + .parent = TYPE_SUN4M_MACHINE, + .class_init = ss600mp_class_init, + }, { + .name = MACHINE_TYPE_NAME("SS-20"), + .parent = TYPE_SUN4M_MACHINE, + .class_init = ss20_class_init, + }, { + .name = MACHINE_TYPE_NAME("Voyager"), + .parent = TYPE_SUN4M_MACHINE, + .class_init = voyager_class_init, + }, { + .name = MACHINE_TYPE_NAME("LX"), + .parent = TYPE_SUN4M_MACHINE, + .class_init = ss_lx_class_init, + }, { + .name = MACHINE_TYPE_NAME("SS-4"), + .parent = TYPE_SUN4M_MACHINE, + .class_init = ss4_class_init, + }, { + .name = MACHINE_TYPE_NAME("SPARCClassic"), + .parent = TYPE_SUN4M_MACHINE, + .class_init = scls_class_init, + }, { + .name = MACHINE_TYPE_NAME("SPARCbook"), + .parent = TYPE_SUN4M_MACHINE, + .class_init = sbook_class_init, + }, { .name = TYPE_SUN4M_MACHINE, .parent = TYPE_MACHINE, .class_size = sizeof(Sun4mMachineClass), @@ -1551,16 +1533,6 @@ static void sun4m_register_types(void) type_register_static(&afx_info); type_register_static(&prom_info); type_register_static(&ram_info); - - type_register_static(&ss5_type); - type_register_static(&ss10_type); - type_register_static(&ss600mp_type); - type_register_static(&ss20_type); - type_register_static(&voyager_type); - type_register_static(&ss_lx_type); - type_register_static(&ss4_type); - type_register_static(&scls_type); - type_register_static(&sbook_type); } type_init(sun4m_register_types) From patchwork Mon May 3 17:13:02 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 1473271 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=LAFzYhwC; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4FYqcT0rklz9sCD for ; Tue, 4 May 2021 03:25:29 +1000 (AEST) Received: from localhost ([::1]:48900 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ldcJz-0006Vj-01 for incoming@patchwork.ozlabs.org; Mon, 03 May 2021 13:25:27 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:49002) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ldc8Y-0002CP-AY for qemu-devel@nongnu.org; Mon, 03 May 2021 13:13:38 -0400 Received: from mail-wm1-x32b.google.com ([2a00:1450:4864:20::32b]:39910) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ldc8V-00043r-Qs for qemu-devel@nongnu.org; Mon, 03 May 2021 13:13:37 -0400 Received: by mail-wm1-x32b.google.com with SMTP id l18-20020a1ced120000b029014c1adff1edso453980wmh.4 for ; Mon, 03 May 2021 10:13:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=+FPJ9Qnru6OpVjKtqox8lDIug1vZ9yjVHlNfUoQamQA=; b=LAFzYhwC+5t7tkrPfD9N4Xo0hWJxacNEKZAKdMdXq2Hznqz2fRHuWVkyddNlgWyz3I UsFVLTYoBH2YVyLnqHolFK/c2RS5PlWxHGEMMwb4NvzjZIHEPnh2gFJwqJzhRYjHxdeL Ie9QeBf/sjymb+vGag9+G9hPd/VB4UbTyK6tHerxXKPF6jVKI+6Fr3w2qFN2m8AsAHyI Y1b/Oh0PSWKKdx/+3+AyICI7+l4bpZlZmf/H2JQHRA0vGv45OqG6krWFrUGBfUX7d9VB f3kZ40ScvEjFa4Ht5k3g+D2b4AQc7U9j5GFqxsjm+pYhdT9UzEJrBZGKnFeu846mkfQR q11w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=+FPJ9Qnru6OpVjKtqox8lDIug1vZ9yjVHlNfUoQamQA=; b=c3v9SEsYZwwTN5X9pTT+hiNqWWkaS54KyNnfOvy/F3ASkkP7quWZhoX2DbJHHE5Zgr N9p5NpMPN8Dd9s5MNWRL2jbvrll5q0X/XidR2hpBhkfZ1gXPpNqspjwsCVtZvflxF7PQ Sndr86JYJ5ayfWnyj9aWrKv1qFDb4J8gdrJTljIfnYfoUJ/QPCfIDllrmekHOw/DgSDQ uqG3R3zJ/IQQ57f/DzZWoh/Ms/ztwHx9G/a4oKykguNpsQgsOge0eI4u6VMWxNH7ugXB 4+2Jt+5qfVK7pV+gbeBvRjZkhaae61bSHTJuLP8G9jpwHJWvmV/VeCvgUlM5a0DICNnk JtwA== X-Gm-Message-State: AOAM530BOh86OW3FZaz9v6l6R3a/Q282vhu5XuB+0X1dctyGP5fci7tj XPLO+DlW+aG6ke3iV2zlK4/XcJbHO0y4rA== X-Google-Smtp-Source: ABdhPJwbrqzRfUzIX3wYDkD0MZ6hzdATVwinkEtzBiETnIxISM/0QmOqtcecvf56Bl+VNzikOxM2KQ== X-Received: by 2002:a7b:c1c5:: with SMTP id a5mr1781688wmj.63.1620062011467; Mon, 03 May 2021 10:13:31 -0700 (PDT) Received: from x1w.redhat.com (anancy-651-1-208-144.w109-217.abo.wanadoo.fr. [109.217.237.144]) by smtp.gmail.com with ESMTPSA id k6sm32112wmi.42.2021.05.03.10.13.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 May 2021 10:13:31 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PATCH v3 5/6] hw/sparc/sun4m: Fix code style for checkpatch.pl Date: Mon, 3 May 2021 19:13:02 +0200 Message-Id: <20210503171303.822501-6-f4bug@amsat.org> X-Mailer: git-send-email 2.26.3 In-Reply-To: <20210503171303.822501-1-f4bug@amsat.org> References: <20210503171303.822501-1-f4bug@amsat.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32b; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-x32b.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.249, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.25, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Richard Henderson , Mark Cave-Ayland , =?utf-8?q?Philippe_Mathie?= =?utf-8?q?u-Daud=C3=A9?= , Artyom Tarasenko Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" We are going to move this code, fix its style first. Reviewed-by: Richard Henderson Signed-off-by: Philippe Mathieu-Daudé --- hw/sparc/sun4m.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/hw/sparc/sun4m.c b/hw/sparc/sun4m.c index a625c41cd37..956216591b0 100644 --- a/hw/sparc/sun4m.c +++ b/hw/sparc/sun4m.c @@ -1181,11 +1181,11 @@ static const struct sun4m_hwdef sun4m_hwdefs[] = { .dma_base = 0xef0400000ULL, .esp_base = 0xef0800000ULL, .le_base = 0xef0c00000ULL, - .apc_base = 0xefa000000ULL, // XXX should not exist + .apc_base = 0xefa000000ULL, /* XXX should not exist */ .aux1_base = 0xff1800000ULL, .aux2_base = 0xff1a01000ULL, .ecc_base = 0xf00000000ULL, - .ecc_version = 0x10000000, // version 0, implementation 1 + .ecc_version = 0x10000000, /* version 0, implementation 1 */ .nvram_machine_id = 0x72, .machine_id = ss10_id, .iommu_version = 0x03000000, @@ -1204,11 +1204,11 @@ static const struct sun4m_hwdef sun4m_hwdefs[] = { .dma_base = 0xef0081000ULL, .esp_base = 0xef0080000ULL, .le_base = 0xef0060000ULL, - .apc_base = 0xefa000000ULL, // XXX should not exist + .apc_base = 0xefa000000ULL, /* XXX should not exist */ .aux1_base = 0xff1800000ULL, - .aux2_base = 0xff1a01000ULL, // XXX should not exist + .aux2_base = 0xff1a01000ULL, /* XXX should not exist */ .ecc_base = 0xf00000000ULL, - .ecc_version = 0x00000000, // version 0, implementation 0 + .ecc_version = 0x00000000, /* version 0, implementation 0 */ .nvram_machine_id = 0x71, .machine_id = ss600mp_id, .iommu_version = 0x01000000, @@ -1230,7 +1230,7 @@ static const struct sun4m_hwdef sun4m_hwdefs[] = { .esp_base = 0xef0800000ULL, .le_base = 0xef0c00000ULL, .bpp_base = 0xef4800000ULL, - .apc_base = 0xefa000000ULL, // XXX should not exist + .apc_base = 0xefa000000ULL, /* XXX should not exist */ .aux1_base = 0xff1800000ULL, .aux2_base = 0xff1a01000ULL, .dbri_base = 0xee0000000ULL, @@ -1249,7 +1249,7 @@ static const struct sun4m_hwdef sun4m_hwdefs[] = { } }, .ecc_base = 0xf00000000ULL, - .ecc_version = 0x20000000, // version 0, implementation 2 + .ecc_version = 0x20000000, /* version 0, implementation 2 */ .nvram_machine_id = 0x72, .machine_id = ss20_id, .iommu_version = 0x13000000, @@ -1270,7 +1270,7 @@ static const struct sun4m_hwdef sun4m_hwdefs[] = { .dma_base = 0x78400000, .esp_base = 0x78800000, .le_base = 0x78c00000, - .apc_base = 0x71300000, // pmc + .apc_base = 0x71300000, /* pmc */ .aux1_base = 0x71900000, .aux2_base = 0x71910000, .nvram_machine_id = 0x80, @@ -1352,7 +1352,7 @@ static const struct sun4m_hwdef sun4m_hwdefs[] = { /* SPARCbook */ { .iommu_base = 0x10000000, - .tcx_base = 0x50000000, // XXX + .tcx_base = 0x50000000, /* XXX */ .slavio_base = 0x70000000, .ms_kb_base = 0x71000000, .serial_base = 0x71100000, From patchwork Mon May 3 17:13:03 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 1473274 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=Xdi0EjLr; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4FYqjw2qDjz9sCD for ; Tue, 4 May 2021 03:30:12 +1000 (AEST) Received: from localhost ([::1]:34826 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ldcOY-0004Nk-F3 for incoming@patchwork.ozlabs.org; Mon, 03 May 2021 13:30:10 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:49014) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ldc8a-0002FA-Fb for qemu-devel@nongnu.org; Mon, 03 May 2021 13:13:40 -0400 Received: from mail-wr1-x436.google.com ([2a00:1450:4864:20::436]:34367) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ldc8Y-000459-Fy for qemu-devel@nongnu.org; Mon, 03 May 2021 13:13:40 -0400 Received: by mail-wr1-x436.google.com with SMTP id t18so6384011wry.1 for ; Mon, 03 May 2021 10:13:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=gDycxe8WIhEZVnSndKn65sM4fYtaRiCKpUhaU9eIkw4=; b=Xdi0EjLr49Iri7yDOLRuB7tsVmto4YRsXf9LTbbwcONtfIBV1O8OZ9nRctN3eKtE9P uWskvroDJM1Kj0HMOQVBSPOvFRuLB7ncDirNgPChPkr3dFowhx6jZsgejBdlrRSZEcg5 Y390t4syK86tC0yowk/1fCt1OuKOSYVMcbP0UEZ2X8Zd+0ZwAOT1gww4ay+b7s0xbzGm cZ65f1J1Zg/4w2LY8Yq7i8S8l+1wbj155kVWyNnwYAqPngNoyuv9p6DvG+FYs6+cLSVJ 1IBzwOD+BYC1Qzcc+VliAQrHjRGSGZfJGTXhr+HOq+Q3vemKh5KxBuZkO9f9wgq6++Aj xVAA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=gDycxe8WIhEZVnSndKn65sM4fYtaRiCKpUhaU9eIkw4=; b=UPOAXFsPiNG7eDMB9+h4uFf+vDMsw29SqTWiRNG5uEjq9MRf1lavIOq9u1tqpRe0I3 KZGKWSdD1jNbQRjoGq/auowq3CjmnBJPwfi8kJCqXjVQ7HgdwgeuV3zEsF7x64o3xRLy c6JFUU6ffnqpk2JiEaGRvbweG8jkyeXPqAo9HSPXx+8uoeBcq8NP2kMz1n8ZYU1frzs8 /yWmSafYFnOiummngIdVltlGQGDkoQpHE2HVwZ+6Ur9zaOuWGWAoGKbixENSEjQCzLg6 baivGjhGb5GB3Beo/PhlqjOrnFjhJb4CH7TRF18bZB5MmmKSb2q3G5EiqQquPBWBQz4s RX1A== X-Gm-Message-State: AOAM5334fgzm6d05CsyRQ26UMjfevEWuNlyiBLdFIgP9MegolPhIaJ8Y 84oGovU9i1kLOFQSPMUAT8/ZidIBzQHFsQ== X-Google-Smtp-Source: ABdhPJxN0cMf5kVQ77cUh2PnvCc1kA7k1x3ArwzraF/n6RrTRLObT6jZT7PCPS3hBjeuHILHQ+NaqQ== X-Received: by 2002:a05:6000:136b:: with SMTP id q11mr26107841wrz.350.1620062016882; Mon, 03 May 2021 10:13:36 -0700 (PDT) Received: from x1w.redhat.com (anancy-651-1-208-144.w109-217.abo.wanadoo.fr. [109.217.237.144]) by smtp.gmail.com with ESMTPSA id n3sm208602wmi.7.2021.05.03.10.13.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 May 2021 10:13:36 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PATCH v3 6/6] hw/sparc/sun4m: Move each sun4m_hwdef definition in its class_init Date: Mon, 3 May 2021 19:13:03 +0200 Message-Id: <20210503171303.822501-7-f4bug@amsat.org> X-Mailer: git-send-email 2.26.3 In-Reply-To: <20210503171303.822501-1-f4bug@amsat.org> References: <20210503171303.822501-1-f4bug@amsat.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::436; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-x436.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.249, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.25, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Cave-Ayland , =?utf-8?q?Philippe_Mat?= =?utf-8?q?hieu-Daud=C3=A9?= , Artyom Tarasenko Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" Remove the sun4m_hwdefs[] array by moving assigning the structure fields directly in each machine class_init() function. Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson --- hw/sparc/sun4m.c | 248 ++++++++++++++++++++++------------------------- 1 file changed, 118 insertions(+), 130 deletions(-) diff --git a/hw/sparc/sun4m.c b/hw/sparc/sun4m.c index 956216591b0..263732b9041 100644 --- a/hw/sparc/sun4m.c +++ b/hw/sparc/sun4m.c @@ -1138,9 +1138,22 @@ enum { ss600mp_id, }; -static const struct sun4m_hwdef sun4m_hwdefs[] = { - /* SS-5 */ - { +static void sun4m_machine_class_init(ObjectClass *oc, void *data) +{ + MachineClass *mc = MACHINE_CLASS(oc); + + mc->init = sun4m_hw_init; + mc->block_default_type = IF_SCSI; + mc->default_boot_order = "c"; + mc->default_display = "tcx"; + mc->default_ram_id = "sun4m.ram"; +} + +static void ss5_class_init(ObjectClass *oc, void *data) +{ + MachineClass *mc = MACHINE_CLASS(oc); + Sun4mMachineClass *smc = SUN4M_MACHINE_CLASS(mc); + static const struct sun4m_hwdef ss5_hwdef = { .iommu_base = 0x10000000, .iommu_pad_base = 0x10004000, .iommu_pad_len = 0x0fffb000, @@ -1165,9 +1178,19 @@ static const struct sun4m_hwdef sun4m_hwdefs[] = { .machine_id = ss5_id, .iommu_version = 0x05000000, .max_mem = 0x10000000, - }, - /* SS-10 */ - { + }; + + mc->desc = "Sun4m platform, SPARCstation 5"; + mc->is_default = true; + mc->default_cpu_type = SPARC_CPU_TYPE_NAME("Fujitsu-MB86904"); + smc->hwdef = &ss5_hwdef; +} + +static void ss10_class_init(ObjectClass *oc, void *data) +{ + MachineClass *mc = MACHINE_CLASS(oc); + Sun4mMachineClass *smc = SUN4M_MACHINE_CLASS(mc); + static const struct sun4m_hwdef ss10_hwdef = { .iommu_base = 0xfe0000000ULL, .tcx_base = 0xe20000000ULL, .slavio_base = 0xff0000000ULL, @@ -1190,9 +1213,19 @@ static const struct sun4m_hwdef sun4m_hwdefs[] = { .machine_id = ss10_id, .iommu_version = 0x03000000, .max_mem = 0xf00000000ULL, - }, - /* SS-600MP */ - { + }; + + mc->desc = "Sun4m platform, SPARCstation 10"; + mc->max_cpus = 4; + mc->default_cpu_type = SPARC_CPU_TYPE_NAME("TI-SuperSparc-II"); + smc->hwdef = &ss10_hwdef; +} + +static void ss600mp_class_init(ObjectClass *oc, void *data) +{ + MachineClass *mc = MACHINE_CLASS(oc); + Sun4mMachineClass *smc = SUN4M_MACHINE_CLASS(mc); + static const struct sun4m_hwdef ss600mp_hwdef = { .iommu_base = 0xfe0000000ULL, .tcx_base = 0xe20000000ULL, .slavio_base = 0xff0000000ULL, @@ -1213,9 +1246,19 @@ static const struct sun4m_hwdef sun4m_hwdefs[] = { .machine_id = ss600mp_id, .iommu_version = 0x01000000, .max_mem = 0xf00000000ULL, - }, - /* SS-20 */ - { + }; + + mc->desc = "Sun4m platform, SPARCserver 600MP"; + mc->max_cpus = 4; + mc->default_cpu_type = SPARC_CPU_TYPE_NAME("TI-SuperSparc-II"); + smc->hwdef = &ss600mp_hwdef; +} + +static void ss20_class_init(ObjectClass *oc, void *data) +{ + MachineClass *mc = MACHINE_CLASS(oc); + Sun4mMachineClass *smc = SUN4M_MACHINE_CLASS(mc); + static const struct sun4m_hwdef ss20_hwdef = { .iommu_base = 0xfe0000000ULL, .tcx_base = 0xe20000000ULL, .slavio_base = 0xff0000000ULL, @@ -1254,9 +1297,19 @@ static const struct sun4m_hwdef sun4m_hwdefs[] = { .machine_id = ss20_id, .iommu_version = 0x13000000, .max_mem = 0xf00000000ULL, - }, - /* Voyager */ - { + }; + + mc->desc = "Sun4m platform, SPARCstation 20"; + mc->max_cpus = 4; + mc->default_cpu_type = SPARC_CPU_TYPE_NAME("TI-SuperSparc-II"); + smc->hwdef = &ss20_hwdef; +} + +static void voyager_class_init(ObjectClass *oc, void *data) +{ + MachineClass *mc = MACHINE_CLASS(oc); + Sun4mMachineClass *smc = SUN4M_MACHINE_CLASS(mc); + static const struct sun4m_hwdef voyager_hwdef = { .iommu_base = 0x10000000, .tcx_base = 0x50000000, .slavio_base = 0x70000000, @@ -1277,9 +1330,18 @@ static const struct sun4m_hwdef sun4m_hwdefs[] = { .machine_id = vger_id, .iommu_version = 0x05000000, .max_mem = 0x10000000, - }, - /* LX */ - { + }; + + mc->desc = "Sun4m platform, SPARCstation Voyager"; + mc->default_cpu_type = SPARC_CPU_TYPE_NAME("Fujitsu-MB86904"); + smc->hwdef = &voyager_hwdef; +} + +static void ss_lx_class_init(ObjectClass *oc, void *data) +{ + MachineClass *mc = MACHINE_CLASS(oc); + Sun4mMachineClass *smc = SUN4M_MACHINE_CLASS(mc); + static const struct sun4m_hwdef ss_lx_hwdef = { .iommu_base = 0x10000000, .iommu_pad_base = 0x10004000, .iommu_pad_len = 0x0fffb000, @@ -1301,9 +1363,18 @@ static const struct sun4m_hwdef sun4m_hwdefs[] = { .machine_id = lx_id, .iommu_version = 0x04000000, .max_mem = 0x10000000, - }, - /* SS-4 */ - { + }; + + mc->desc = "Sun4m platform, SPARCstation LX"; + mc->default_cpu_type = SPARC_CPU_TYPE_NAME("TI-MicroSparc-I"); + smc->hwdef = &ss_lx_hwdef; +} + +static void ss4_class_init(ObjectClass *oc, void *data) +{ + MachineClass *mc = MACHINE_CLASS(oc); + Sun4mMachineClass *smc = SUN4M_MACHINE_CLASS(mc); + static const struct sun4m_hwdef ss4_hwdef = { .iommu_base = 0x10000000, .tcx_base = 0x50000000, .cs_base = 0x6c000000, @@ -1325,9 +1396,18 @@ static const struct sun4m_hwdef sun4m_hwdefs[] = { .machine_id = ss4_id, .iommu_version = 0x05000000, .max_mem = 0x10000000, - }, - /* SPARCClassic */ - { + }; + + mc->desc = "Sun4m platform, SPARCstation 4"; + mc->default_cpu_type = SPARC_CPU_TYPE_NAME("Fujitsu-MB86904"); + smc->hwdef = &ss4_hwdef; +} + +static void scls_class_init(ObjectClass *oc, void *data) +{ + MachineClass *mc = MACHINE_CLASS(oc); + Sun4mMachineClass *smc = SUN4M_MACHINE_CLASS(mc); + static const struct sun4m_hwdef scls_hwdef = { .iommu_base = 0x10000000, .tcx_base = 0x50000000, .slavio_base = 0x70000000, @@ -1348,9 +1428,18 @@ static const struct sun4m_hwdef sun4m_hwdefs[] = { .machine_id = scls_id, .iommu_version = 0x05000000, .max_mem = 0x10000000, - }, - /* SPARCbook */ - { + }; + + mc->desc = "Sun4m platform, SPARCClassic"; + mc->default_cpu_type = SPARC_CPU_TYPE_NAME("TI-MicroSparc-I"); + smc->hwdef = &scls_hwdef; +} + +static void sbook_class_init(ObjectClass *oc, void *data) +{ + MachineClass *mc = MACHINE_CLASS(oc); + Sun4mMachineClass *smc = SUN4M_MACHINE_CLASS(mc); + static const struct sun4m_hwdef sbook_hwdef = { .iommu_base = 0x10000000, .tcx_base = 0x50000000, /* XXX */ .slavio_base = 0x70000000, @@ -1371,112 +1460,11 @@ static const struct sun4m_hwdef sun4m_hwdefs[] = { .machine_id = sbook_id, .iommu_version = 0x05000000, .max_mem = 0x10000000, - }, -}; - -static void sun4m_machine_class_init(ObjectClass *oc, void *data) -{ - MachineClass *mc = MACHINE_CLASS(oc); - - mc->init = sun4m_hw_init; - mc->block_default_type = IF_SCSI; - mc->default_boot_order = "c"; - mc->default_display = "tcx"; - mc->default_ram_id = "sun4m.ram"; -} - -static void ss5_class_init(ObjectClass *oc, void *data) -{ - MachineClass *mc = MACHINE_CLASS(oc); - Sun4mMachineClass *smc = SUN4M_MACHINE_CLASS(mc); - - mc->desc = "Sun4m platform, SPARCstation 5"; - mc->is_default = true; - mc->default_cpu_type = SPARC_CPU_TYPE_NAME("Fujitsu-MB86904"); - smc->hwdef = &sun4m_hwdefs[0]; -} - -static void ss10_class_init(ObjectClass *oc, void *data) -{ - MachineClass *mc = MACHINE_CLASS(oc); - Sun4mMachineClass *smc = SUN4M_MACHINE_CLASS(mc); - - mc->desc = "Sun4m platform, SPARCstation 10"; - mc->max_cpus = 4; - mc->default_cpu_type = SPARC_CPU_TYPE_NAME("TI-SuperSparc-II"); - smc->hwdef = &sun4m_hwdefs[1]; -} - -static void ss600mp_class_init(ObjectClass *oc, void *data) -{ - MachineClass *mc = MACHINE_CLASS(oc); - Sun4mMachineClass *smc = SUN4M_MACHINE_CLASS(mc); - - mc->desc = "Sun4m platform, SPARCserver 600MP"; - mc->max_cpus = 4; - mc->default_cpu_type = SPARC_CPU_TYPE_NAME("TI-SuperSparc-II"); - smc->hwdef = &sun4m_hwdefs[2]; -} - -static void ss20_class_init(ObjectClass *oc, void *data) -{ - MachineClass *mc = MACHINE_CLASS(oc); - Sun4mMachineClass *smc = SUN4M_MACHINE_CLASS(mc); - - mc->desc = "Sun4m platform, SPARCstation 20"; - mc->max_cpus = 4; - mc->default_cpu_type = SPARC_CPU_TYPE_NAME("TI-SuperSparc-II"); - smc->hwdef = &sun4m_hwdefs[3]; -} - -static void voyager_class_init(ObjectClass *oc, void *data) -{ - MachineClass *mc = MACHINE_CLASS(oc); - Sun4mMachineClass *smc = SUN4M_MACHINE_CLASS(mc); - - mc->desc = "Sun4m platform, SPARCstation Voyager"; - mc->default_cpu_type = SPARC_CPU_TYPE_NAME("Fujitsu-MB86904"); - smc->hwdef = &sun4m_hwdefs[4]; -} - -static void ss_lx_class_init(ObjectClass *oc, void *data) -{ - MachineClass *mc = MACHINE_CLASS(oc); - Sun4mMachineClass *smc = SUN4M_MACHINE_CLASS(mc); - - mc->desc = "Sun4m platform, SPARCstation LX"; - mc->default_cpu_type = SPARC_CPU_TYPE_NAME("TI-MicroSparc-I"); - smc->hwdef = &sun4m_hwdefs[5]; -} - -static void ss4_class_init(ObjectClass *oc, void *data) -{ - MachineClass *mc = MACHINE_CLASS(oc); - Sun4mMachineClass *smc = SUN4M_MACHINE_CLASS(mc); - - mc->desc = "Sun4m platform, SPARCstation 4"; - mc->default_cpu_type = SPARC_CPU_TYPE_NAME("Fujitsu-MB86904"); - smc->hwdef = &sun4m_hwdefs[6]; -} - -static void scls_class_init(ObjectClass *oc, void *data) -{ - MachineClass *mc = MACHINE_CLASS(oc); - Sun4mMachineClass *smc = SUN4M_MACHINE_CLASS(mc); - - mc->desc = "Sun4m platform, SPARCClassic"; - mc->default_cpu_type = SPARC_CPU_TYPE_NAME("TI-MicroSparc-I"); - smc->hwdef = &sun4m_hwdefs[7]; -} - -static void sbook_class_init(ObjectClass *oc, void *data) -{ - MachineClass *mc = MACHINE_CLASS(oc); - Sun4mMachineClass *smc = SUN4M_MACHINE_CLASS(mc); + }; mc->desc = "Sun4m platform, SPARCbook"; mc->default_cpu_type = SPARC_CPU_TYPE_NAME("TI-MicroSparc-I"); - smc->hwdef = &sun4m_hwdefs[8]; + smc->hwdef = &sbook_hwdef; } static const TypeInfo sun4m_machine_types[] = {