pc-dimm: make qmp_pc_dimm_device_list() sort devices by address

Make qmp_pc_dimm_device_list() return sorted by start address
list of devices so that it could be reused in places that
would need sorted list*. Reuse existing pc_dimm_built_list()
to get sorted list.

While at it hide recursive callbacks from callers, so that:

  qmp_pc_dimm_device_list(qdev_get_machine(), &list);

could be replaced with simpler:

  list = qmp_pc_dimm_device_list();

* follow up patch will use it in build_srat()

Signed-off-by: Haozhong Zhang <haozhong.zhang@intel.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Acked-by: David Gibson <david@gibson.dropbear.id.au> for ppc part
Reviewed-by: Bharata B Rao <bharata@linux.vnet.ibm.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
Haozhong Zhang 2018-03-11 11:02:11 +08:00 committed by Michael S. Tsirkin
parent 1d0cad532c
commit 52c95cae4e
6 changed files with 50 additions and 53 deletions

View file

@ -2,9 +2,9 @@
#include "qom/object.h"
#include "hw/mem/pc-dimm.h"
int qmp_pc_dimm_device_list(Object *obj, void *opaque)
MemoryDeviceInfoList *qmp_pc_dimm_device_list(void)
{
return 0;
return NULL;
}
uint64_t get_plugged_memory_size(void)