None machine accepts any CPU types, even some CPUs may have the bus_type. To address this, set topo_tree_supported as true for none machine, then none machine will have a CPU slot with CPU bus to collect any topology device with bus_type specified. And since arch_id_topo_level is not set, the topology devices will be directly inserted under the CPU slot without being organized into a tree structure. For the CPUs without bus_type, topo_tree_supported will not affect them. Signed-off-by: Zhao Liu <zhao1.liu@xxxxxxxxx> --- hw/core/null-machine.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/hw/core/null-machine.c b/hw/core/null-machine.c index f586a4bef543..101649f3e8c1 100644 --- a/hw/core/null-machine.c +++ b/hw/core/null-machine.c @@ -54,6 +54,11 @@ static void machine_none_machine_init(MachineClass *mc) mc->no_floppy = 1; mc->no_cdrom = 1; mc->no_sdcard = 1; + /* + * For compatibility with arches and CPUs that already + * support topology tree. + */ + mc->smp_props.topo_tree_supported = true; } DEFINE_MACHINE("none", machine_none_machine_init) -- 2.34.1