If there is no mem or memdev in numa configuration, it always
reports the error as the following:

total memory for NUMA nodes (0x0) should equal RAM size (0x100000000)

This error is confusing and the reason is that total memory of numa nodes
is always 0 if there is no mem or memdev in numa configuration.
So it's better to check mem or memdev in numa configuration.

Signed-off-by: Li Zhang <lizh...@suse.de>
---
 hw/core/numa.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/hw/core/numa.c b/hw/core/numa.c
index 1aa05dcf42..11cbec51eb 100644
--- a/hw/core/numa.c
+++ b/hw/core/numa.c
@@ -132,6 +132,11 @@ static void parse_numa_node(MachineState *ms, 
NumaNodeOptions *node,
 
     have_memdevs = have_memdevs ? : node->has_memdev;
     have_mem = have_mem ? : node->has_mem;
+    if (!node->has_memdev && !node->has_mem) {
+        error_setg(errp, "numa configuration should use mem= or memdev= ");
+        return;
+    }
+
     if ((node->has_mem && have_memdevs) || (node->has_memdev && have_mem)) {
         error_setg(errp, "numa configuration should use either mem= or 
memdev=,"
                    "mixing both is not allowed");
-- 
2.31.1


Reply via email to