On 03/10/2018 07:34 PM, Haozhong Zhang wrote:
It may need to treat PC-DIMM and NVDIMM differently, e.g., when
deciding the necessity of non-volatile flag bit in SRAT memory
affinity structures.
NVDIMMDeviceInfo, which inherits from PCDIMMDeviceInfo, is added to
union type MemoryDeviceInfo to record information of NVDIMM devices.
The NVDIMM-specific data is currently left empty and will be filled
when necessary in the future.
Stale comment.
It also fixes "info memory-devices"/query-memory-devices which
currently show nvdimm devices as dimm devices since
object_dynamic_cast(obj, TYPE_PC_DIMM) happily cast nvdimm to
TYPE_PC_DIMM which it's been inherited from.
Signed-off-by: Haozhong Zhang <haozhong.zh...@intel.com>
---
hmp.c | 14 +++++++++++---
hw/mem/pc-dimm.c | 10 +++++++++-
numa.c | 19 +++++++++++++------
qapi/misc.json | 6 +++++-
4 files changed, 38 insertions(+), 11 deletions(-)
+++ b/qapi/misc.json
@@ -2852,7 +2852,11 @@
#
# Since: 2.1
Perhaps this could somehow use a '(since 2.12)' tag; but as this is a
"simple union" (which is anything but simple in the QAPI generator), and
we're trying to avoid introducing new ones where possible, I'm fine
overlooking it for now.
##
-{ 'union': 'MemoryDeviceInfo', 'data': {'dimm': 'PCDIMMDeviceInfo'} }
+{ 'union': 'MemoryDeviceInfo',
+ 'data': { 'dimm': 'PCDIMMDeviceInfo',
+ 'nvdimm': 'PCDIMMDeviceInfo'
+ }
+}
Reviewed-by: Eric Blake <ebl...@redhat.com>
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3266
Virtualization: qemu.org | libvirt.org