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é)
 -----BEGIN PGP SIGNATURE-----
 
 iQJIBAABCAAyFiEEWjIv1avE09usz9GqKAeTb5hNxaYFAl89Q5MUHGVoYWJrb3N0
 QHJlZGhhdC5jb20ACgkQKAeTb5hNxabojA//TGPJt9ahDopULyUc0sUa53r98l5N
 HovMeUh19FVRD/Iuky+CojqDJwbEqxi06O07pumqye/3wfTNhwToSfBFXZdxsM1b
 vCjeTIVeNThVLYiYMAV36Eqk8jAQnt05/HLOPE9sEa+rjt+TROb8yQwP3YjVoDgJ
 MNyEugJX/BTUV8LsN0t/fWjobWRfQLssAsS7lx6aMgE3VXsFYCPvurWUY4IOB/Yx
 zBOtI3qqHAV5+1m0509Go+bDlQFKIR2/cVdSUdul9pmxmYK3JOi5dddEhiMXbgO6
 Ko8GJVoow6Dr7WNnVRcNKj4oHBcamXS7YCl1ddNyIlOV0yxH20IFqAG4VYE1G7JG
 3eWp21W2NepX+n9KgZSaCKls8A659fkmkYG2O/Qpui4BETpdM5SRpSdAGNt0kXlA
 fXC3iEBoVYdgic5H5yssr5AicDdFRQqgA0YvwleiSc997FkTYq4GdJwK07tk5O3c
 RbfOLNurSHPzvoceU7tDeJa6T6bIF1DCuB/rUupSgKFU3njdh7OgMYaMM5vkN+MO
 dGQ+mw1/LEh5NTgLLlFRVdQBPw98WS88M7qtMQg7ZHMNt7NwP2DyeQxEiZ+0l3p/
 IL519HY0ZJgWnkH7uKf2UclmzOQ24PoKJknhBNN1QiGJUGJWk6pxeEd8xFJlokKi
 26ljxYyTzYQE8tU=
 =0wqi
 -----END PGP SIGNATURE-----

Merge remote-tracking branch 'remotes/ehabkost/tags/machine-next-pull-request' into staging

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é)

# gpg: Signature made Wed 19 Aug 2020 16:21:55 BST
# gpg:                using RSA key 5A322FD5ABC4D3DBACCFD1AA2807936F984DC5A6
# gpg:                issuer "ehabkost@redhat.com"
# gpg: Good signature from "Eduardo Habkost <ehabkost@redhat.com>" [full]
# Primary key fingerprint: 5A32 2FD5 ABC4 D3DB ACCF  D1AA 2807 936F 984D C5A6

* remotes/ehabkost/tags/machine-next-pull-request:
  hw: add compat machines for 5.2
  qmp: Expose MachineClass::default_ram_id
  qdev: Document qdev_prop_set_drive_err() return value

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
Peter Maydell 2020-08-22 14:37:31 +01:00
commit ca489cd037
12 changed files with 83 additions and 9 deletions

View File

@ -2546,10 +2546,17 @@ static void machvirt_machine_init(void)
} }
type_init(machvirt_machine_init); type_init(machvirt_machine_init);
static void virt_machine_5_1_options(MachineClass *mc) static void virt_machine_5_2_options(MachineClass *mc)
{ {
} }
DEFINE_VIRT_MACHINE_AS_LATEST(5, 1) 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(5, 1)
static void virt_machine_5_0_options(MachineClass *mc) static void virt_machine_5_0_options(MachineClass *mc)
{ {

View File

@ -238,6 +238,10 @@ MachineInfoList *qmp_query_machines(Error **errp)
info->default_cpu_type = g_strdup(mc->default_cpu_type); info->default_cpu_type = g_strdup(mc->default_cpu_type);
info->has_default_cpu_type = true; 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 = g_malloc0(sizeof(*entry));
entry->value = info; entry->value = info;

View File

@ -28,6 +28,9 @@
#include "hw/mem/nvdimm.h" #include "hw/mem/nvdimm.h"
#include "migration/vmstate.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[] = { GlobalProperty hw_compat_5_0[] = {
{ "pci-host-bridge", "x-config-reg-migration-enabled", "off" }, { "pci-host-bridge", "x-config-reg-migration-enabled", "off" },
{ "virtio-balloon-device", "page-poison", "false" }, { "virtio-balloon-device", "page-poison", "false" },

View File

@ -97,6 +97,9 @@
#include "trace.h" #include "trace.h"
#include CONFIG_DEVICES #include CONFIG_DEVICES
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[] = { GlobalProperty pc_compat_5_0[] = {
}; };
const size_t pc_compat_5_0_len = G_N_ELEMENTS(pc_compat_5_0); const size_t pc_compat_5_0_len = G_N_ELEMENTS(pc_compat_5_0);

View File

@ -426,7 +426,7 @@ static void pc_i440fx_machine_options(MachineClass *m)
machine_class_allow_dynamic_sysbus_dev(m, TYPE_VMBUS_BRIDGE); 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); PCMachineClass *pcmc = PC_MACHINE_CLASS(m);
pc_i440fx_machine_options(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; 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, DEFINE_I440FX_MACHINE(v5_1, "pc-i440fx-5.1", NULL,
pc_i440fx_5_1_machine_options); pc_i440fx_5_1_machine_options);

View File

@ -353,7 +353,7 @@ static void pc_q35_machine_options(MachineClass *m)
m->max_cpus = 288; 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); PCMachineClass *pcmc = PC_MACHINE_CLASS(m);
pc_q35_machine_options(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; 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, DEFINE_Q35_MACHINE(v5_1, "pc-q35-5.1", NULL,
pc_q35_5_1_machine_options); pc_q35_5_1_machine_options);

View File

@ -4580,14 +4580,25 @@ static void spapr_machine_latest_class_options(MachineClass *mc)
type_init(spapr_machine_register_##suffix) type_init(spapr_machine_register_##suffix)
/* /*
* pseries-5.1 * pseries-5.2
*/ */
static void spapr_machine_5_1_class_options(MachineClass *mc) static void spapr_machine_5_2_class_options(MachineClass *mc)
{ {
/* Defaults for the latest behaviour inherited from the base class */ /* Defaults for the latest behaviour inherited from the base class */
} }
DEFINE_SPAPR_MACHINE(5_1, "5.1", true); DEFINE_SPAPR_MACHINE(5_2, "5.2", true);
/*
* pseries-5.1
*/
static void spapr_machine_5_1_class_options(MachineClass *mc)
{
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", false);
/* /*
* pseries-5.0 * pseries-5.0

View File

@ -801,14 +801,26 @@ bool css_migration_enabled(void)
} \ } \
type_init(ccw_machine_register_##suffix) 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) 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) 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) static void ccw_machine_5_0_instance_options(MachineState *machine)
{ {

View File

@ -319,6 +319,9 @@ struct MachineState {
} \ } \
type_init(machine_initfn##_register_types) 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 GlobalProperty hw_compat_5_0[];
extern const size_t hw_compat_5_0_len; extern const size_t hw_compat_5_0_len;

View File

@ -193,6 +193,9 @@ void pc_system_firmware_init(PCMachineState *pcms, MemoryRegion *rom_memory);
void pc_madt_cpu_entry(AcpiDeviceIf *adev, int uid, void pc_madt_cpu_entry(AcpiDeviceIf *adev, int uid,
const CPUArchIdList *apic_ids, GArray *entry); 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 GlobalProperty pc_compat_5_0[];
extern const size_t pc_compat_5_0_len; extern const size_t pc_compat_5_0_len;

View File

@ -238,6 +238,8 @@ extern const PropertyInfo qdev_prop_pcie_link_width;
/* /*
* Set properties between creation and realization. * Set properties between creation and realization.
*
* Returns: %true on success, %false on error.
*/ */
bool qdev_prop_set_drive_err(DeviceState *dev, const char *name, bool qdev_prop_set_drive_err(DeviceState *dev, const char *name,
BlockBackend *value, Error **errp); BlockBackend *value, Error **errp);

View File

@ -357,13 +357,16 @@
# @default-cpu-type: default CPU model typename if none is requested via # @default-cpu-type: default CPU model typename if none is requested via
# the -cpu argument. (since 4.2) # the -cpu argument. (since 4.2)
# #
# @default-ram-id: the default ID of initial RAM memory backend (since 5.2)
#
# Since: 1.2.0 # Since: 1.2.0
## ##
{ 'struct': 'MachineInfo', { 'struct': 'MachineInfo',
'data': { 'name': 'str', '*alias': 'str', 'data': { 'name': 'str', '*alias': 'str',
'*is-default': 'bool', 'cpu-max': 'int', '*is-default': 'bool', 'cpu-max': 'int',
'hotpluggable-cpus': 'bool', 'numa-mem-supported': 'bool', '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: # @query-machines: