From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-12.3 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,NICE_REPLY_A, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0A400C433E3 for ; Wed, 29 Jul 2020 06:26:15 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id C1F702065E for ; Wed, 29 Jul 2020 06:26:14 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C1F702065E Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=de.ibm.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:40212 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k0fXa-00070w-2e for qemu-devel@archiver.kernel.org; Wed, 29 Jul 2020 02:26:14 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:56436) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k0fWG-0005xl-Lo; Wed, 29 Jul 2020 02:24:52 -0400 Received: from mx0a-001b2d01.pphosted.com ([148.163.156.1]:57268) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k0fWE-0000sB-86; Wed, 29 Jul 2020 02:24:52 -0400 Received: from pps.filterd (m0098409.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id 06T62q16016654; Wed, 29 Jul 2020 02:24:42 -0400 Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com with ESMTP id 32jw2k11h7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 29 Jul 2020 02:24:42 -0400 Received: from m0098409.ppops.net (m0098409.ppops.net [127.0.0.1]) by pps.reinject (8.16.0.36/8.16.0.36) with SMTP id 06T633S6017890; Wed, 29 Jul 2020 02:24:41 -0400 Received: from ppma04ams.nl.ibm.com (63.31.33a9.ip4.static.sl-reverse.com [169.51.49.99]) by mx0a-001b2d01.pphosted.com with ESMTP id 32jw2k11gc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 29 Jul 2020 02:24:41 -0400 Received: from pps.filterd (ppma04ams.nl.ibm.com [127.0.0.1]) by ppma04ams.nl.ibm.com (8.16.0.42/8.16.0.42) with SMTP id 06T6FLLi031805; Wed, 29 Jul 2020 06:24:39 GMT Received: from b06cxnps4075.portsmouth.uk.ibm.com (d06relay12.portsmouth.uk.ibm.com [9.149.109.197]) by ppma04ams.nl.ibm.com with ESMTP id 32gcy4mp27-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 29 Jul 2020 06:24:39 +0000 Received: from d06av24.portsmouth.uk.ibm.com (d06av24.portsmouth.uk.ibm.com [9.149.105.60]) by b06cxnps4075.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 06T6ObwM57475294 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 29 Jul 2020 06:24:37 GMT Received: from d06av24.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 5273C4203F; Wed, 29 Jul 2020 06:24:37 +0000 (GMT) Received: from d06av24.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 90C4A42041; Wed, 29 Jul 2020 06:24:36 +0000 (GMT) Received: from oc7455500831.ibm.com (unknown [9.145.89.18]) by d06av24.portsmouth.uk.ibm.com (Postfix) with ESMTP; Wed, 29 Jul 2020 06:24:36 +0000 (GMT) Subject: Re: [PATCH] hw: add compat machines for 5.2 To: Cornelia Huck , Peter Maydell , Eduardo Habkost , Marcel Apfelbaum , "Michael S. Tsirkin" , David Gibson , Thomas Huth , Halil Pasic References: <20200728094645.272149-1-cohuck@redhat.com> From: Christian Borntraeger Autocrypt: addr=borntraeger@de.ibm.com; prefer-encrypt=mutual; keydata= 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 nS4h0HDFPrrp1C2EMVYIQrMokWvlFZbCpsdYbBI= Message-ID: Date: Wed, 29 Jul 2020 08:24:36 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.9.0 MIME-Version: 1.0 In-Reply-To: <20200728094645.272149-1-cohuck@redhat.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-TM-AS-GCONF: 00 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.235, 18.0.687 definitions=2020-07-29_02:2020-07-28, 2020-07-29 signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 bulkscore=0 impostorscore=0 mlxscore=0 malwarescore=0 mlxlogscore=999 clxscore=1011 lowpriorityscore=0 phishscore=0 spamscore=0 suspectscore=0 priorityscore=1501 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2006250000 definitions=main-2007290041 Received-SPF: pass client-ip=148.163.156.1; envelope-from=borntraeger@de.ibm.com; helo=mx0a-001b2d01.pphosted.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/07/29 02:24:46 X-ACL-Warn: Detected OS = Linux 3.x [generic] [fuzzy] X-Spam_score_int: -35 X-Spam_score: -3.6 X-Spam_bar: --- X-Spam_report: (-3.6 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-1, 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.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: qemu-s390x@nongnu.org, qemu-arm@nongnu.org, qemu-ppc@nongnu.org, qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" On 28.07.20 11:46, Cornelia Huck wrote: > Add 5.2 machine types for arm/i440fx/q35/s390x/spapr. > > Signed-off-by: Cornelia Huck > --- > hw/arm/virt.c | 9 ++++++++- > hw/core/machine.c | 3 +++ > hw/i386/pc.c | 3 +++ > hw/i386/pc_piix.c | 14 +++++++++++++- > hw/i386/pc_q35.c | 13 ++++++++++++- > hw/ppc/spapr.c | 15 +++++++++++++-- > hw/s390x/s390-virtio-ccw.c | 14 +++++++++++++- Acked-by: Christian Borntraeger > include/hw/boards.h | 3 +++ > include/hw/i386/pc.h | 3 +++ > 9 files changed, 71 insertions(+), 6 deletions(-) > > diff --git a/hw/arm/virt.c b/hw/arm/virt.c > index ecfee362a182..acf9bfbeceaf 100644 > --- a/hw/arm/virt.c > +++ b/hw/arm/virt.c > @@ -2546,10 +2546,17 @@ static void machvirt_machine_init(void) > } > type_init(machvirt_machine_init); > > +static void virt_machine_5_2_options(MachineClass *mc) > +{ > +} > +DEFINE_VIRT_MACHINE_AS_LATEST(5, 2) > + > static void virt_machine_5_1_options(MachineClass *mc) > { > + virt_machine_5_2_options(mc); > + compat_props_add(mc->compat_props, hw_compat_5_1, hw_compat_5_1_len); > } > -DEFINE_VIRT_MACHINE_AS_LATEST(5, 1) > +DEFINE_VIRT_MACHINE(5, 1) > > static void virt_machine_5_0_options(MachineClass *mc) > { > diff --git a/hw/core/machine.c b/hw/core/machine.c > index 2f881d6d75b8..a24fe18ab6a6 100644 > --- a/hw/core/machine.c > +++ b/hw/core/machine.c > @@ -28,6 +28,9 @@ > #include "hw/mem/nvdimm.h" > #include "migration/vmstate.h" > > +GlobalProperty hw_compat_5_1[] = {}; > +const size_t hw_compat_5_1_len = G_N_ELEMENTS(hw_compat_5_1); > + > GlobalProperty hw_compat_5_0[] = { > { "virtio-balloon-device", "page-poison", "false" }, > { "vmport", "x-read-set-eax", "off" }, > diff --git a/hw/i386/pc.c b/hw/i386/pc.c > index 3d419d599127..1733b5341a62 100644 > --- a/hw/i386/pc.c > +++ b/hw/i386/pc.c > @@ -97,6 +97,9 @@ > #include "fw_cfg.h" > #include "trace.h" > > +GlobalProperty pc_compat_5_1[] = {}; > +const size_t pc_compat_5_1_len = G_N_ELEMENTS(pc_compat_5_1); > + > GlobalProperty pc_compat_5_0[] = {}; > const size_t pc_compat_5_0_len = G_N_ELEMENTS(pc_compat_5_0); > > diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c > index b789e83f9acb..c5ba70ca17cb 100644 > --- a/hw/i386/pc_piix.c > +++ b/hw/i386/pc_piix.c > @@ -426,7 +426,7 @@ static void pc_i440fx_machine_options(MachineClass *m) > machine_class_allow_dynamic_sysbus_dev(m, TYPE_VMBUS_BRIDGE); > } > > -static void pc_i440fx_5_1_machine_options(MachineClass *m) > +static void pc_i440fx_5_2_machine_options(MachineClass *m) > { > PCMachineClass *pcmc = PC_MACHINE_CLASS(m); > pc_i440fx_machine_options(m); > @@ -435,6 +435,18 @@ static void pc_i440fx_5_1_machine_options(MachineClass *m) > pcmc->default_cpu_version = 1; > } > > +DEFINE_I440FX_MACHINE(v5_2, "pc-i440fx-5.2", NULL, > + pc_i440fx_5_2_machine_options); > + > +static void pc_i440fx_5_1_machine_options(MachineClass *m) > +{ > + pc_i440fx_5_2_machine_options(m); > + m->alias = NULL; > + m->is_default = false; > + compat_props_add(m->compat_props, hw_compat_5_1, hw_compat_5_1_len); > + compat_props_add(m->compat_props, pc_compat_5_1, pc_compat_5_1_len); > +} > + > DEFINE_I440FX_MACHINE(v5_1, "pc-i440fx-5.1", NULL, > pc_i440fx_5_1_machine_options); > > diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c > index a3e607a544a5..0cb9c18cd44d 100644 > --- a/hw/i386/pc_q35.c > +++ b/hw/i386/pc_q35.c > @@ -353,7 +353,7 @@ static void pc_q35_machine_options(MachineClass *m) > m->max_cpus = 288; > } > > -static void pc_q35_5_1_machine_options(MachineClass *m) > +static void pc_q35_5_2_machine_options(MachineClass *m) > { > PCMachineClass *pcmc = PC_MACHINE_CLASS(m); > pc_q35_machine_options(m); > @@ -361,6 +361,17 @@ static void pc_q35_5_1_machine_options(MachineClass *m) > pcmc->default_cpu_version = 1; > } > > +DEFINE_Q35_MACHINE(v5_2, "pc-q35-5.2", NULL, > + pc_q35_5_2_machine_options); > + > +static void pc_q35_5_1_machine_options(MachineClass *m) > +{ > + pc_q35_5_2_machine_options(m); > + m->alias = NULL; > + compat_props_add(m->compat_props, hw_compat_5_1, hw_compat_5_1_len); > + compat_props_add(m->compat_props, pc_compat_5_1, pc_compat_5_1_len); > +} > + > DEFINE_Q35_MACHINE(v5_1, "pc-q35-5.1", NULL, > pc_q35_5_1_machine_options); > > diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c > index 0ae293ec9431..1c8d0981b382 100644 > --- a/hw/ppc/spapr.c > +++ b/hw/ppc/spapr.c > @@ -4579,15 +4579,26 @@ static void spapr_machine_latest_class_options(MachineClass *mc) > } \ > type_init(spapr_machine_register_##suffix) > > +/* > + * pseries-5.2 > + */ > +static void spapr_machine_5_2_class_options(MachineClass *mc) > +{ > + /* Defaults for the latest behaviour inherited from the base class */ > +} > + > +DEFINE_SPAPR_MACHINE(5_2, "5.2", true); > + > /* > * pseries-5.1 > */ > static void spapr_machine_5_1_class_options(MachineClass *mc) > { > - /* Defaults for the latest behaviour inherited from the base class */ > + spapr_machine_5_2_class_options(mc); > + compat_props_add(mc->compat_props, hw_compat_5_1, hw_compat_5_1_len); > } > > -DEFINE_SPAPR_MACHINE(5_1, "5.1", true); > +DEFINE_SPAPR_MACHINE(5_1, "5.1", false); > > /* > * pseries-5.0 > diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c > index 403d30e13bca..3dc22737a389 100644 > --- a/hw/s390x/s390-virtio-ccw.c > +++ b/hw/s390x/s390-virtio-ccw.c > @@ -804,14 +804,26 @@ bool css_migration_enabled(void) > } \ > type_init(ccw_machine_register_##suffix) > > +static void ccw_machine_5_2_instance_options(MachineState *machine) > +{ > +} > + > +static void ccw_machine_5_2_class_options(MachineClass *mc) > +{ > +} > +DEFINE_CCW_MACHINE(5_2, "5.2", true); > + > static void ccw_machine_5_1_instance_options(MachineState *machine) > { > + ccw_machine_5_2_instance_options(machine); > } > > static void ccw_machine_5_1_class_options(MachineClass *mc) > { > + ccw_machine_5_2_class_options(mc); > + compat_props_add(mc->compat_props, hw_compat_5_1, hw_compat_5_1_len); > } > -DEFINE_CCW_MACHINE(5_1, "5.1", true); > +DEFINE_CCW_MACHINE(5_1, "5.1", false); > > static void ccw_machine_5_0_instance_options(MachineState *machine) > { > diff --git a/include/hw/boards.h b/include/hw/boards.h > index 426ce5f625a4..bc5b82ad209e 100644 > --- a/include/hw/boards.h > +++ b/include/hw/boards.h > @@ -319,6 +319,9 @@ struct MachineState { > } \ > type_init(machine_initfn##_register_types) > > +extern GlobalProperty hw_compat_5_1[]; > +extern const size_t hw_compat_5_1_len; > + > extern GlobalProperty hw_compat_5_0[]; > extern const size_t hw_compat_5_0_len; > > diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h > index 3d7ed3a55e30..fe52e165b27c 100644 > --- a/include/hw/i386/pc.h > +++ b/include/hw/i386/pc.h > @@ -193,6 +193,9 @@ void pc_system_firmware_init(PCMachineState *pcms, MemoryRegion *rom_memory); > void pc_madt_cpu_entry(AcpiDeviceIf *adev, int uid, > const CPUArchIdList *apic_ids, GArray *entry); > > +extern GlobalProperty pc_compat_5_1[]; > +extern const size_t pc_compat_5_1_len; > + > extern GlobalProperty pc_compat_5_0[]; > extern const size_t pc_compat_5_0_len; > >