diff options
Diffstat (limited to 'hw/core')
| -rw-r--r-- | hw/core/machine.c | 4 | ||||
| -rw-r--r-- | hw/core/numa.c | 7 |
2 files changed, 3 insertions, 8 deletions
diff --git a/hw/core/machine.c b/hw/core/machine.c index 56137e9bf0..73bf1f8572 100644 --- a/hw/core/machine.c +++ b/hw/core/machine.c @@ -843,7 +843,7 @@ static void machine_initfn(Object *obj) NULL); } - if (mc->numa_mem_supported) { + if (mc->cpu_index_to_instance_props && mc->get_default_cpu_node_id) { ms->numa_state = g_new0(NumaState, 1); } @@ -966,7 +966,7 @@ void machine_run_board_init(MachineState *machine) { MachineClass *machine_class = MACHINE_GET_CLASS(machine); - if (machine_class->numa_mem_supported) { + if (machine->numa_state) { numa_complete_configuration(machine); if (machine->numa_state->num_nodes) { machine_numa_finish_cpu_init(machine); diff --git a/hw/core/numa.c b/hw/core/numa.c index e3332a984f..19f082de12 100644 --- a/hw/core/numa.c +++ b/hw/core/numa.c @@ -83,10 +83,6 @@ static void parse_numa_node(MachineState *ms, NumaNodeOptions *node, return; } - if (!mc->cpu_index_to_instance_props || !mc->get_default_cpu_node_id) { - error_setg(errp, "NUMA is not supported by this machine-type"); - return; - } for (cpus = node->cpus; cpus; cpus = cpus->next) { CpuInstanceProperties props; if (cpus->value >= max_cpus) { @@ -178,9 +174,8 @@ void parse_numa_distance(MachineState *ms, NumaDistOptions *dist, Error **errp) void set_numa_options(MachineState *ms, NumaOptions *object, Error **errp) { Error *err = NULL; - MachineClass *mc = MACHINE_GET_CLASS(ms); - if (!mc->numa_mem_supported) { + if (!ms->numa_state) { error_setg(errp, "NUMA is not supported by this machine-type"); goto end; } |