memory: Convert to new qapi union layout
We have two issues with our qapi union layout: 1) Even though the QMP wire format spells the tag 'type', the C code spells it 'kind', requiring some hacks in the generator. 2) The C struct uses an anonymous union, which places all tag values in the same namespace as all non-variant members. This leads to spurious collisions if a tag value matches a non-variant member's name. Make the conversion to the new layout for memory-related code. Signed-off-by: Eric Blake <eblake@redhat.com> Message-Id: <1445898903-12082-21-git-send-email-eblake@redhat.com> [Commit message tweaked slightly] Signed-off-by: Markus Armbruster <armbru@redhat.com>
This commit is contained in:
parent
568c73a478
commit
1fd5d4fea4
6
hmp.c
6
hmp.c
@ -1958,12 +1958,12 @@ void hmp_info_memory_devices(Monitor *mon, const QDict *qdict)
|
||||
value = info->value;
|
||||
|
||||
if (value) {
|
||||
switch (value->kind) {
|
||||
switch (value->type) {
|
||||
case MEMORY_DEVICE_INFO_KIND_DIMM:
|
||||
di = value->dimm;
|
||||
di = value->u.dimm;
|
||||
|
||||
monitor_printf(mon, "Memory device [%s]: \"%s\"\n",
|
||||
MemoryDeviceInfoKind_lookup[value->kind],
|
||||
MemoryDeviceInfoKind_lookup[value->type],
|
||||
di->id ? di->id : "");
|
||||
monitor_printf(mon, " addr: 0x%" PRIx64 "\n", di->addr);
|
||||
monitor_printf(mon, " slot: %" PRId64 "\n", di->slot);
|
||||
|
@ -179,7 +179,7 @@ int qmp_pc_dimm_device_list(Object *obj, void *opaque)
|
||||
NULL);
|
||||
di->memdev = object_get_canonical_path(OBJECT(dimm->hostmem));
|
||||
|
||||
info->dimm = di;
|
||||
info->u.dimm = di;
|
||||
elem->value = info;
|
||||
elem->next = NULL;
|
||||
**prev = elem;
|
||||
@ -203,9 +203,9 @@ ram_addr_t get_current_ram_size(void)
|
||||
MemoryDeviceInfo *value = info->value;
|
||||
|
||||
if (value) {
|
||||
switch (value->kind) {
|
||||
switch (value->type) {
|
||||
case MEMORY_DEVICE_INFO_KIND_DIMM:
|
||||
size += value->dimm->size;
|
||||
size += value->u.dimm->size;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
8
numa.c
8
numa.c
@ -226,9 +226,9 @@ static int parse_numa(void *opaque, QemuOpts *opts, Error **errp)
|
||||
goto error;
|
||||
}
|
||||
|
||||
switch (object->kind) {
|
||||
switch (object->type) {
|
||||
case NUMA_OPTIONS_KIND_NODE:
|
||||
numa_node_parse(object->node, opts, &err);
|
||||
numa_node_parse(object->u.node, opts, &err);
|
||||
if (err) {
|
||||
goto error;
|
||||
}
|
||||
@ -487,9 +487,9 @@ static void numa_stat_memory_devices(uint64_t node_mem[])
|
||||
MemoryDeviceInfo *value = info->value;
|
||||
|
||||
if (value) {
|
||||
switch (value->kind) {
|
||||
switch (value->type) {
|
||||
case MEMORY_DEVICE_INFO_KIND_DIMM:
|
||||
node_mem[value->dimm->node] += value->dimm->size;
|
||||
node_mem[value->u.dimm->node] += value->u.dimm->size;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
Loading…
Reference in New Issue
Block a user