qmp: Expose MachineClass::default_ram_id
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>
This commit is contained in:
parent
0aca03a3f1
commit
c556600598
@ -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;
|
||||
|
@ -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:
|
||||
|
Loading…
Reference in New Issue
Block a user