* David Hildenbrand (da...@redhat.com) wrote: > Print the memory device info just like for PCDIMM/NVDIMM. > > Signed-off-by: David Hildenbrand <da...@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilb...@redhat.com> > --- > hmp.c | 27 +++++++++++++++------------ > 1 file changed, 15 insertions(+), 12 deletions(-) > > diff --git a/hmp.c b/hmp.c > index 3a9f797677..159f82e155 100644 > --- a/hmp.c > +++ b/hmp.c > @@ -2532,6 +2532,7 @@ void hmp_info_memory_devices(Monitor *mon, const QDict > *qdict) > Error *err = NULL; > MemoryDeviceInfoList *info_list = qmp_query_memory_devices(&err); > MemoryDeviceInfoList *info; > + VirtioPMemDeviceInfo *vpi; > MemoryDeviceInfo *value; > PCDIMMDeviceInfo *di; > > @@ -2541,19 +2542,9 @@ void hmp_info_memory_devices(Monitor *mon, const QDict > *qdict) > if (value) { > switch (value->type) { > case MEMORY_DEVICE_INFO_KIND_DIMM: > - di = value->u.dimm.data; > - break; > - > case MEMORY_DEVICE_INFO_KIND_NVDIMM: > - di = value->u.nvdimm.data; > - break; > - > - default: > - di = NULL; > - break; > - } > - > - if (di) { > + di = (value->type == MEMORY_DEVICE_INFO_KIND_DIMM) ? > + value->u.dimm.data : value->u.nvdimm.data; > monitor_printf(mon, "Memory device [%s]: \"%s\"\n", > MemoryDeviceInfoKind_str(value->type), > di->id ? di->id : ""); > @@ -2566,6 +2557,18 @@ void hmp_info_memory_devices(Monitor *mon, const QDict > *qdict) > di->hotplugged ? "true" : "false"); > monitor_printf(mon, " hotpluggable: %s\n", > di->hotpluggable ? "true" : "false"); > + break; > + case MEMORY_DEVICE_INFO_KIND_VIRTIO_PMEM: > + vpi = value->u.virtio_pmem.data; > + monitor_printf(mon, "Memory device [%s]: \"%s\"\n", > + MemoryDeviceInfoKind_str(value->type), > + vpi->id ? vpi->id : ""); > + monitor_printf(mon, " memaddr: 0x%" PRIx64 "\n", > vpi->memaddr); > + monitor_printf(mon, " size: %" PRIu64 "\n", vpi->size); > + monitor_printf(mon, " memdev: %s\n", vpi->memdev); > + break; > + default: > + g_assert_not_reached(); > } > } > } > -- > 2.17.1 > -- Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK