diff --git a/include/sysemu/numa.h b/include/sysemu/numa.h index eae881e453..d25ada9119 100644 --- a/include/sysemu/numa.h +++ b/include/sysemu/numa.h @@ -20,6 +20,5 @@ void set_numa_nodes(void); void set_numa_modes(void); void query_numa_node_mem(uint64_t node_mem[]); extern QemuOptsList qemu_numa_opts; -int numa_init_func(QemuOpts *opts, void *opaque); #endif diff --git a/numa.c b/numa.c index 84d4cb5d13..eb9259b66a 100644 --- a/numa.c +++ b/numa.c @@ -36,6 +36,8 @@ #include "sysemu/hostmem.h" #include "qmp-commands.h" #include "hw/mem/pc-dimm.h" +#include "qemu/option.h" +#include "qemu/config-file.h" QemuOptsList qemu_numa_opts = { .name = "numa", @@ -121,7 +123,7 @@ static void numa_node_parse(NumaNodeOptions *node, QemuOpts *opts, Error **errp) max_numa_nodeid = MAX(max_numa_nodeid, nodenr + 1); } -int numa_init_func(QemuOpts *opts, void *opaque) +static int numa_init_func(QemuOpts *opts, void *opaque) { NumaOptions *object = NULL; Error *err = NULL; @@ -168,6 +170,11 @@ void set_numa_nodes(void) { int i; + if (qemu_opts_foreach(qemu_find_opts("numa"), numa_init_func, + NULL, 1) != 0) { + exit(1); + } + assert(max_numa_nodeid <= MAX_NODES); /* No support for sparse NUMA node IDs yet: */ diff --git a/vl.c b/vl.c index 52e9f2cacd..6db7724262 100644 --- a/vl.c +++ b/vl.c @@ -4157,11 +4157,6 @@ int main(int argc, char **argv, char **envp) default_drive(default_floppy, snapshot, IF_FLOPPY, 0, FD_OPTS); default_drive(default_sdcard, snapshot, IF_SD, 0, SD_OPTS); - if (qemu_opts_foreach(qemu_find_opts("numa"), numa_init_func, - NULL, 1) != 0) { - exit(1); - } - set_numa_nodes(); if (qemu_opts_foreach(qemu_find_opts("mon"), mon_init_func, NULL, 1) != 0) {