mirror of
https://github.com/qemu/qemu.git
synced 2024-12-03 00:33:39 +08:00
hw/riscv: Validate cluster and NUMA node boundary
There are two RISCV machines where NUMA is aware: 'virt' and 'spike'. Both of them are required to follow cluster-NUMA-node boundary. To enable the validation to warn about the irregular configuration where multiple CPUs in one cluster has been associated with multiple NUMA nodes. Signed-off-by: Gavin Shan <gshan@redhat.com> Reviewed-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com> Acked-by: Igor Mammedov <imammedo@redhat.com> Acked-by: Alistair Francis <alistair.francis@wdc.com> Message-Id: <20230509002739.18388-4-gshan@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
fecff67235
commit
3d9981cde9
@ -354,6 +354,8 @@ static void spike_machine_class_init(ObjectClass *oc, void *data)
|
||||
mc->cpu_index_to_instance_props = riscv_numa_cpu_index_to_props;
|
||||
mc->get_default_cpu_node_id = riscv_numa_get_default_cpu_node_id;
|
||||
mc->numa_mem_supported = true;
|
||||
/* platform instead of architectural choice */
|
||||
mc->cpu_cluster_has_numa_boundary = true;
|
||||
mc->default_ram_id = "riscv.spike.ram";
|
||||
object_class_property_add_str(oc, "signature", NULL, spike_set_signature);
|
||||
object_class_property_set_description(oc, "signature",
|
||||
|
@ -1669,6 +1669,8 @@ static void virt_machine_class_init(ObjectClass *oc, void *data)
|
||||
mc->cpu_index_to_instance_props = riscv_numa_cpu_index_to_props;
|
||||
mc->get_default_cpu_node_id = riscv_numa_get_default_cpu_node_id;
|
||||
mc->numa_mem_supported = true;
|
||||
/* platform instead of architectural choice */
|
||||
mc->cpu_cluster_has_numa_boundary = true;
|
||||
mc->default_ram_id = "riscv_virt_board.ram";
|
||||
assert(!mc->get_hotplug_handler);
|
||||
mc->get_hotplug_handler = virt_machine_get_hotplug_handler;
|
||||
|
Loading…
Reference in New Issue
Block a user