* [PULL 0/3] Machine queue 2020-08-19 @ 2020-08-19 15:22 Eduardo Habkost 2020-08-19 15:22 ` [PULL 1/3] qdev: Document qdev_prop_set_drive_err() return value Eduardo Habkost ` (3 more replies) 0 siblings, 4 replies; 8+ messages in thread From: Eduardo Habkost @ 2020-08-19 15:22 UTC (permalink / raw) To: Peter Maydell, qemu-devel Cc: Thomas Huth, Cornelia Huck, Daniel P. Berrangé, Eduardo Habkost, David Hildenbrand, Michael S. Tsirkin, Markus Armbruster, Halil Pasic, Christian Borntraeger, qemu-s390x, qemu-arm, qemu-ppc, Paolo Bonzini, Igor Mammedov, Richard Henderson, David Gibson The following changes since commit 672b2f2695891b6d818bddc3ce0df964c7627969: Open 5.2 development tree (2020-08-18 13:44:04 +0100) are available in the Git repository at: git://github.com/ehabkost/qemu.git tags/machine-next-pull-request for you to fetch changes up to 3ff3c5d31740484b0e19007843094483fb393e80: hw: add compat machines for 5.2 (2020-08-19 10:45:48 -0400) ---------------------------------------------------------------- Machine queue 2020-08-19 Regular post-release changes: * hw: add compat machines for 5.2 (Cornelia Huck) Features: * qmp: Expose MachineClass::default_ram_id (Michal Privoznik) Cleanups: * qdev: Document qdev_prop_set_drive_err() return value (Philippe Mathieu-Daudé) ---------------------------------------------------------------- Cornelia Huck (1): hw: add compat machines for 5.2 Michal Privoznik (1): qmp: Expose MachineClass::default_ram_id Philippe Mathieu-Daudé (1): qdev: Document qdev_prop_set_drive_err() return value qapi/machine.json | 5 ++++- include/hw/boards.h | 3 +++ include/hw/i386/pc.h | 3 +++ include/hw/qdev-properties.h | 2 ++ hw/arm/virt.c | 9 ++++++++- hw/core/machine-qmp-cmds.c | 4 ++++ 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 +++++++++++++- 12 files changed, 81 insertions(+), 7 deletions(-) -- 2.26.2 ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PULL 1/3] qdev: Document qdev_prop_set_drive_err() return value 2020-08-19 15:22 [PULL 0/3] Machine queue 2020-08-19 Eduardo Habkost @ 2020-08-19 15:22 ` Eduardo Habkost 2020-08-19 15:22 ` [PULL 2/3] qmp: Expose MachineClass::default_ram_id Eduardo Habkost ` (2 subsequent siblings) 3 siblings, 0 replies; 8+ messages in thread From: Eduardo Habkost @ 2020-08-19 15:22 UTC (permalink / raw) To: Peter Maydell, qemu-devel Cc: Thomas Huth, Cornelia Huck, Daniel P. Berrangé, Eduardo Habkost, David Hildenbrand, Michael S. Tsirkin, Markus Armbruster, Philippe Mathieu-Daudé, Halil Pasic, Christian Borntraeger, qemu-s390x, qemu-arm, qemu-ppc, Paolo Bonzini, Igor Mammedov, Richard Henderson, David Gibson From: Philippe Mathieu-Daudé <f4bug@amsat.org> Since commit 73ac1aac39 qdev_prop_set_drive_err() returns a boolean value. Document it. Fixes: 73ac1aac39 "Make functions taking Error ** return bool, not void" Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Message-Id: <20200720121659.31886-1-f4bug@amsat.org> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> --- include/hw/qdev-properties.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/hw/qdev-properties.h b/include/hw/qdev-properties.h index 8f3a98cba6..528310bb22 100644 --- a/include/hw/qdev-properties.h +++ b/include/hw/qdev-properties.h @@ -238,6 +238,8 @@ extern const PropertyInfo qdev_prop_pcie_link_width; /* * Set properties between creation and realization. + * + * Returns: %true on success, %false on error. */ bool qdev_prop_set_drive_err(DeviceState *dev, const char *name, BlockBackend *value, Error **errp); -- 2.26.2 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PULL 2/3] qmp: Expose MachineClass::default_ram_id 2020-08-19 15:22 [PULL 0/3] Machine queue 2020-08-19 Eduardo Habkost 2020-08-19 15:22 ` [PULL 1/3] qdev: Document qdev_prop_set_drive_err() return value Eduardo Habkost @ 2020-08-19 15:22 ` Eduardo Habkost 2020-08-19 15:22 ` [PULL 3/3] hw: add compat machines for 5.2 Eduardo Habkost 2020-08-22 18:57 ` [PULL 0/3] Machine queue 2020-08-19 Peter Maydell 3 siblings, 0 replies; 8+ messages in thread From: Eduardo Habkost @ 2020-08-19 15:22 UTC (permalink / raw) To: Peter Maydell, qemu-devel Cc: Thomas Huth, Cornelia Huck, Daniel P. Berrangé, Eduardo Habkost, David Hildenbrand, Michal Privoznik, Michael S. Tsirkin, Markus Armbruster, Halil Pasic, Christian Borntraeger, qemu-s390x, qemu-arm, qemu-ppc, Paolo Bonzini, Igor Mammedov, Richard Henderson, David Gibson From: Michal Privoznik <mprivozn@redhat.com> If a management application (like Libvirt) want's to preserve migration ability and switch to '-machine memory-backend' it needs to set exactly the same RAM id as QEMU would. Since the id is machine type dependant, expose it under 'query-machines' result. Some machine types don't have the attribute set (riscv family for example), therefore the QMP attribute must be optional. Signed-off-by: Michal Privoznik <mprivozn@redhat.com> Message-Id: <9384422f63fe594a54d801f9cb4539b1d2ce9b67.1590481402.git.mprivozn@redhat.com> Reviewed-by: Igor Mammedov <imammedo@redhat.com> [ehabkost: updated doc to "since 5.2"] Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> --- qapi/machine.json | 5 ++++- hw/core/machine-qmp-cmds.c | 4 ++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/qapi/machine.json b/qapi/machine.json index 481b1f07ec..abc6fd0477 100644 --- a/qapi/machine.json +++ b/qapi/machine.json @@ -357,13 +357,16 @@ # @default-cpu-type: default CPU model typename if none is requested via # the -cpu argument. (since 4.2) # +# @default-ram-id: the default ID of initial RAM memory backend (since 5.2) +# # Since: 1.2.0 ## { 'struct': 'MachineInfo', 'data': { 'name': 'str', '*alias': 'str', '*is-default': 'bool', 'cpu-max': 'int', 'hotpluggable-cpus': 'bool', 'numa-mem-supported': 'bool', - 'deprecated': 'bool', '*default-cpu-type': 'str' } } + 'deprecated': 'bool', '*default-cpu-type': 'str', + '*default-ram-id': 'str' } } ## # @query-machines: diff --git a/hw/core/machine-qmp-cmds.c b/hw/core/machine-qmp-cmds.c index 963088b798..21551221ad 100644 --- a/hw/core/machine-qmp-cmds.c +++ b/hw/core/machine-qmp-cmds.c @@ -238,6 +238,10 @@ MachineInfoList *qmp_query_machines(Error **errp) info->default_cpu_type = g_strdup(mc->default_cpu_type); info->has_default_cpu_type = true; } + if (mc->default_ram_id) { + info->default_ram_id = g_strdup(mc->default_ram_id); + info->has_default_ram_id = true; + } entry = g_malloc0(sizeof(*entry)); entry->value = info; -- 2.26.2 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PULL 3/3] hw: add compat machines for 5.2 2020-08-19 15:22 [PULL 0/3] Machine queue 2020-08-19 Eduardo Habkost 2020-08-19 15:22 ` [PULL 1/3] qdev: Document qdev_prop_set_drive_err() return value Eduardo Habkost 2020-08-19 15:22 ` [PULL 2/3] qmp: Expose MachineClass::default_ram_id Eduardo Habkost @ 2020-08-19 15:22 ` Eduardo Habkost 2020-08-20 14:35 ` Igor Mammedov 2020-08-22 18:57 ` [PULL 0/3] Machine queue 2020-08-19 Peter Maydell 3 siblings, 1 reply; 8+ messages in thread From: Eduardo Habkost @ 2020-08-19 15:22 UTC (permalink / raw) To: Peter Maydell, qemu-devel Cc: Andrew Jones, Thomas Huth, Cornelia Huck, Daniel P. Berrangé, Eduardo Habkost, David Hildenbrand, Michael S. Tsirkin, Markus Armbruster, Greg Kurz, Halil Pasic, Christian Borntraeger, qemu-s390x, qemu-arm, qemu-ppc, Paolo Bonzini, Igor Mammedov, Richard Henderson, David Gibson From: Cornelia Huck <cohuck@redhat.com> Add 5.2 machine types for arm/i440fx/q35/s390x/spapr. Reviewed-by: Andrew Jones <drjones@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Reviewed-by: Greg Kurz <groug@kaod.org> Acked-by: Christian Borntraeger <borntraeger@de.ibm.com> Acked-by: David Gibson <david@gibson.dropbear.id.au> Acked-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com> Message-Id: <20200819144016.281156-1-cohuck@redhat.com> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> --- include/hw/boards.h | 3 +++ include/hw/i386/pc.h | 3 +++ 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 +++++++++++++- 9 files changed, 71 insertions(+), 6 deletions(-) diff --git a/include/hw/boards.h b/include/hw/boards.h index 426ce5f625..bc5b82ad20 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 3d7ed3a55e..fe52e165b2 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; diff --git a/hw/arm/virt.c b/hw/arm/virt.c index ecfee362a1..acf9bfbece 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 8d1a90c6cf..cf5f2dfaeb 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[] = { { "pci-host-bridge", "x-config-reg-migration-enabled", "off" }, { "virtio-balloon-device", "page-poison", "false" }, diff --git a/hw/i386/pc.c b/hw/i386/pc.c index 47c5ca3e34..9aa813949c 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 b789e83f9a..c5ba70ca17 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 a3e607a544..0cb9c18cd4 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 0ae293ec94..1c8d0981b3 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 e72c61d2ea..f4ea6a9545 100644 --- a/hw/s390x/s390-virtio-ccw.c +++ b/hw/s390x/s390-virtio-ccw.c @@ -801,14 +801,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) { -- 2.26.2 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PULL 3/3] hw: add compat machines for 5.2 2020-08-19 15:22 ` [PULL 3/3] hw: add compat machines for 5.2 Eduardo Habkost @ 2020-08-20 14:35 ` Igor Mammedov 2020-08-20 14:40 ` Cornelia Huck 2020-08-20 14:42 ` Igor Mammedov 0 siblings, 2 replies; 8+ messages in thread From: Igor Mammedov @ 2020-08-20 14:35 UTC (permalink / raw) To: Eduardo Habkost Cc: Peter Maydell, Thomas Huth, Daniel P. Berrangé, David Hildenbrand, qemu-s390x, Markus Armbruster, Cornelia Huck, Andrew Jones, qemu-devel, Halil Pasic, Christian Borntraeger, Greg Kurz, qemu-arm, Michael S. Tsirkin, Paolo Bonzini, qemu-ppc, David Gibson, Richard Henderson On Wed, 19 Aug 2020 11:22:58 -0400 Eduardo Habkost <ehabkost@redhat.com> wrote: > From: Cornelia Huck <cohuck@redhat.com> > > Add 5.2 machine types for arm/i440fx/q35/s390x/spapr. > > Reviewed-by: Andrew Jones <drjones@redhat.com> > Reviewed-by: Michael S. Tsirkin <mst@redhat.com> > Reviewed-by: Greg Kurz <groug@kaod.org> > Acked-by: Christian Borntraeger <borntraeger@de.ibm.com> > Acked-by: David Gibson <david@gibson.dropbear.id.au> > Acked-by: Thomas Huth <thuth@redhat.com> > Signed-off-by: Cornelia Huck <cohuck@redhat.com> > Message-Id: <20200819144016.281156-1-cohuck@redhat.com> > Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> Is this the latest version of the patch? It doesn't apply cleanly on top of the current master. > --- > include/hw/boards.h | 3 +++ > include/hw/i386/pc.h | 3 +++ > 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 +++++++++++++- > 9 files changed, 71 insertions(+), 6 deletions(-) > > diff --git a/include/hw/boards.h b/include/hw/boards.h > index 426ce5f625..bc5b82ad20 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 3d7ed3a55e..fe52e165b2 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; > > diff --git a/hw/arm/virt.c b/hw/arm/virt.c > index ecfee362a1..acf9bfbece 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 8d1a90c6cf..cf5f2dfaeb 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[] = { > { "pci-host-bridge", "x-config-reg-migration-enabled", "off" }, > { "virtio-balloon-device", "page-poison", "false" }, > diff --git a/hw/i386/pc.c b/hw/i386/pc.c > index 47c5ca3e34..9aa813949c 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 b789e83f9a..c5ba70ca17 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 a3e607a544..0cb9c18cd4 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 0ae293ec94..1c8d0981b3 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 e72c61d2ea..f4ea6a9545 100644 > --- a/hw/s390x/s390-virtio-ccw.c > +++ b/hw/s390x/s390-virtio-ccw.c > @@ -801,14 +801,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) > { ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PULL 3/3] hw: add compat machines for 5.2 2020-08-20 14:35 ` Igor Mammedov @ 2020-08-20 14:40 ` Cornelia Huck 2020-08-20 14:42 ` Igor Mammedov 1 sibling, 0 replies; 8+ messages in thread From: Cornelia Huck @ 2020-08-20 14:40 UTC (permalink / raw) To: Igor Mammedov Cc: Peter Maydell, Thomas Huth, Daniel P. Berrangé, Eduardo Habkost, David Hildenbrand, qemu-s390x, Markus Armbruster, Michael S. Tsirkin, Andrew Jones, qemu-devel, Halil Pasic, Christian Borntraeger, Greg Kurz, qemu-arm, qemu-ppc, Paolo Bonzini, David Gibson, Richard Henderson On Thu, 20 Aug 2020 16:35:08 +0200 Igor Mammedov <imammedo@redhat.com> wrote: > On Wed, 19 Aug 2020 11:22:58 -0400 > Eduardo Habkost <ehabkost@redhat.com> wrote: > > > From: Cornelia Huck <cohuck@redhat.com> > > > > Add 5.2 machine types for arm/i440fx/q35/s390x/spapr. > > > > Reviewed-by: Andrew Jones <drjones@redhat.com> > > Reviewed-by: Michael S. Tsirkin <mst@redhat.com> > > Reviewed-by: Greg Kurz <groug@kaod.org> > > Acked-by: Christian Borntraeger <borntraeger@de.ibm.com> > > Acked-by: David Gibson <david@gibson.dropbear.id.au> > > Acked-by: Thomas Huth <thuth@redhat.com> > > Signed-off-by: Cornelia Huck <cohuck@redhat.com> > > Message-Id: <20200819144016.281156-1-cohuck@redhat.com> ^^^^^^^^^^^^^^ > > Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> > > Is this the latest version of the patch? > It doesn't apply cleanly on top of the current master. Again? I re-spun it yesterday against then-current master. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PULL 3/3] hw: add compat machines for 5.2 2020-08-20 14:35 ` Igor Mammedov 2020-08-20 14:40 ` Cornelia Huck @ 2020-08-20 14:42 ` Igor Mammedov 1 sibling, 0 replies; 8+ messages in thread From: Igor Mammedov @ 2020-08-20 14:42 UTC (permalink / raw) To: Eduardo Habkost Cc: Peter Maydell, Thomas Huth, Daniel P. Berrangé, David Hildenbrand, qemu-ppc, Richard Henderson, Cornelia Huck, Markus Armbruster, qemu-devel, Andrew Jones, Christian Borntraeger, qemu-s390x, qemu-arm, Michael S. Tsirkin, Halil Pasic, Paolo Bonzini, David Gibson, Greg Kurz On Thu, 20 Aug 2020 16:35:08 +0200 Igor Mammedov <imammedo@redhat.com> wrote: > On Wed, 19 Aug 2020 11:22:58 -0400 > Eduardo Habkost <ehabkost@redhat.com> wrote: > > > From: Cornelia Huck <cohuck@redhat.com> > > > > Add 5.2 machine types for arm/i440fx/q35/s390x/spapr. > > > > Reviewed-by: Andrew Jones <drjones@redhat.com> > > Reviewed-by: Michael S. Tsirkin <mst@redhat.com> > > Reviewed-by: Greg Kurz <groug@kaod.org> > > Acked-by: Christian Borntraeger <borntraeger@de.ibm.com> > > Acked-by: David Gibson <david@gibson.dropbear.id.au> > > Acked-by: Thomas Huth <thuth@redhat.com> > > Signed-off-by: Cornelia Huck <cohuck@redhat.com> > > Message-Id: <20200819144016.281156-1-cohuck@redhat.com> > > Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> > > Is this the latest version of the patch? > It doesn't apply cleanly on top of the current master. Sorry for noise, it was messed up tree on my side, after clean checkout it applies fine. > > > --- > > include/hw/boards.h | 3 +++ > > include/hw/i386/pc.h | 3 +++ > > 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 +++++++++++++- > > 9 files changed, 71 insertions(+), 6 deletions(-) > > > > diff --git a/include/hw/boards.h b/include/hw/boards.h > > index 426ce5f625..bc5b82ad20 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 3d7ed3a55e..fe52e165b2 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; > > > > diff --git a/hw/arm/virt.c b/hw/arm/virt.c > > index ecfee362a1..acf9bfbece 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 8d1a90c6cf..cf5f2dfaeb 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[] = { > > { "pci-host-bridge", "x-config-reg-migration-enabled", "off" }, > > { "virtio-balloon-device", "page-poison", "false" }, > > diff --git a/hw/i386/pc.c b/hw/i386/pc.c > > index 47c5ca3e34..9aa813949c 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 b789e83f9a..c5ba70ca17 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 a3e607a544..0cb9c18cd4 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 0ae293ec94..1c8d0981b3 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 e72c61d2ea..f4ea6a9545 100644 > > --- a/hw/s390x/s390-virtio-ccw.c > > +++ b/hw/s390x/s390-virtio-ccw.c > > @@ -801,14 +801,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) > > { > > ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PULL 0/3] Machine queue 2020-08-19 2020-08-19 15:22 [PULL 0/3] Machine queue 2020-08-19 Eduardo Habkost ` (2 preceding siblings ...) 2020-08-19 15:22 ` [PULL 3/3] hw: add compat machines for 5.2 Eduardo Habkost @ 2020-08-22 18:57 ` Peter Maydell 3 siblings, 0 replies; 8+ messages in thread From: Peter Maydell @ 2020-08-22 18:57 UTC (permalink / raw) To: Eduardo Habkost Cc: Thomas Huth, Cornelia Huck, Daniel P. Berrangé, David Hildenbrand, Michael S. Tsirkin, QEMU Developers, Markus Armbruster, Halil Pasic, Christian Borntraeger, qemu-s390x, qemu-arm, qemu-ppc, Paolo Bonzini, Igor Mammedov, Richard Henderson, David Gibson On Wed, 19 Aug 2020 at 16:23, Eduardo Habkost <ehabkost@redhat.com> wrote: > > The following changes since commit 672b2f2695891b6d818bddc3ce0df964c7627969: > > Open 5.2 development tree (2020-08-18 13:44:04 +0100) > > are available in the Git repository at: > > git://github.com/ehabkost/qemu.git tags/machine-next-pull-request > > for you to fetch changes up to 3ff3c5d31740484b0e19007843094483fb393e80: > > hw: add compat machines for 5.2 (2020-08-19 10:45:48 -0400) > > ---------------------------------------------------------------- > Machine queue 2020-08-19 > > Regular post-release changes: > * hw: add compat machines for 5.2 (Cornelia Huck) > > Features: > * qmp: Expose MachineClass::default_ram_id > (Michal Privoznik) > > Cleanups: > * qdev: Document qdev_prop_set_drive_err() return value > (Philippe Mathieu-Daudé) Applied, thanks. Please update the changelog at https://wiki.qemu.org/ChangeLog/5.2 for any user-visible changes. -- PMM ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2020-08-22 18:58 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2020-08-19 15:22 [PULL 0/3] Machine queue 2020-08-19 Eduardo Habkost 2020-08-19 15:22 ` [PULL 1/3] qdev: Document qdev_prop_set_drive_err() return value Eduardo Habkost 2020-08-19 15:22 ` [PULL 2/3] qmp: Expose MachineClass::default_ram_id Eduardo Habkost 2020-08-19 15:22 ` [PULL 3/3] hw: add compat machines for 5.2 Eduardo Habkost 2020-08-20 14:35 ` Igor Mammedov 2020-08-20 14:40 ` Cornelia Huck 2020-08-20 14:42 ` Igor Mammedov 2020-08-22 18:57 ` [PULL 0/3] Machine queue 2020-08-19 Peter Maydell
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).