On Wed, May 03, 2017 at 02:57:03PM +0200, Igor Mammedov wrote: > Default node mapping initialization already checks that board > supports cpu_index to node mapping and refuses to start if > it's not supported. Do the same for explicitly provided > mapping "-numa node,cpus=..." > > Signed-off-by: Igor Mammedov <imamm...@redhat.com> > --- > numa.c | 13 ++++++++++--- > 1 file changed, 10 insertions(+), 3 deletions(-) > > diff --git a/numa.c b/numa.c > index ab1661d..b517870 100644 > --- a/numa.c > +++ b/numa.c > @@ -140,10 +140,12 @@ uint32_t numa_get_node(ram_addr_t addr, Error **errp) > return -1; > } > > -static void numa_node_parse(NumaNodeOptions *node, QemuOpts *opts, Error > **errp) > +static void numa_node_parse(MachineState *ms, NumaNodeOptions *node, > + QemuOpts *opts, Error **errp) > { > uint16_t nodenr; > uint16List *cpus = NULL; > + MachineClass *mc = MACHINE_GET_CLASS(ms); > > if (node->has_nodeid) { > nodenr = node->nodeid; > @@ -162,6 +164,10 @@ static void numa_node_parse(NumaNodeOptions *node, > QemuOpts *opts, Error **errp) > return; > } > > + if (!mc->cpu_index_to_instance_props) { > + error_report("CPUs to NUMA node mapping isn't supported"); > + exit(1); > + }
The error message sounds very confusing me. Maybe this could become just: "NUMA is not supported by the %s machine-type"? -- Eduardo