diff mbox series

[v2,5/7] hmp: Handle virtio-pmem when printing memory device infos

Message ID 20190619094907.10131-6-pagupta@redhat.com (mailing list archive)
State New, archived
Headers show
Series Qemu virtio pmem device | expand

Commit Message

Pankaj Gupta June 19, 2019, 9:49 a.m. UTC
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>
---
 hmp.c | 27 +++++++++++++++------------
 1 file changed, 15 insertions(+), 12 deletions(-)

Comments

Wei Yang July 2, 2019, 8:50 a.m. UTC | #1
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
>
Pankaj Gupta July 2, 2019, 10:17 a.m. UTC | #2
> 
> 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 mbox series

Patch

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();
             }
         }
     }