* [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).