Message ID | 20190619094907.10131-6-pagupta@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Qemu virtio pmem device | expand |
On Wed, Jun 19, 2019 at 03:19:05PM +0530, Pankaj Gupta wrote: >From: David Hildenbrand <david@redhat.com> > >Print the memory device info just like for PCDIMM/NVDIMM. > >Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com> >Signed-off-by: David Hildenbrand <david@redhat.com> This one not apply on latest code. Need to rebase it. >--- > hmp.c | 27 +++++++++++++++------------ > 1 file changed, 15 insertions(+), 12 deletions(-) > >diff --git a/hmp.c b/hmp.c >index 92941142af..e1866bc7f1 100644 >--- a/hmp.c >+++ b/hmp.c >@@ -2650,6 +2650,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; > >@@ -2659,19 +2660,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 : ""); >@@ -2684,6 +2675,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.14.5 >
> > On Wed, Jun 19, 2019 at 03:19:05PM +0530, Pankaj Gupta wrote: > >From: David Hildenbrand <david@redhat.com> > > > >Print the memory device info just like for PCDIMM/NVDIMM. > > > >Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com> > >Signed-off-by: David Hildenbrand <david@redhat.com> > > This one not apply on latest code. Need to rebase it. Yes, Thanks, Pankaj > > >--- > > hmp.c | 27 +++++++++++++++------------ > > 1 file changed, 15 insertions(+), 12 deletions(-) > > > >diff --git a/hmp.c b/hmp.c > >index 92941142af..e1866bc7f1 100644 > >--- a/hmp.c > >+++ b/hmp.c > >@@ -2650,6 +2650,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; > > > >@@ -2659,19 +2660,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 : ""); > >@@ -2684,6 +2675,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.14.5 > > > > -- > Wei Yang > Help you, Help me > >
diff --git a/hmp.c b/hmp.c index 92941142af..e1866bc7f1 100644 --- a/hmp.c +++ b/hmp.c @@ -2650,6 +2650,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; @@ -2659,19 +2660,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 : ""); @@ -2684,6 +2675,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(); } } }