> + > +static void qemu_add_cli_devices_early(void) > +{ > + long category = DEVICE_CATEGORY_CPU_DEF; > + > + qemu_add_devices(&category); > +} > + > static void qemu_init_board(void) > { > /* process plugin before CPUs are created, but once -smp has been parsed */ > @@ -2631,6 +2662,9 @@ static void qemu_init_board(void) > /* From here on we enter MACHINE_PHASE_INITIALIZED. */ > machine_run_board_init(current_machine, mem_path, &error_fatal); > > + /* Create CPU topology device if any. */ > + qemu_add_cli_devices_early(); I wonder if this is too generic a name? There are various other things we might want to do early. Maybe qemu_add_cli_cpu_def() > + > drive_check_orphaned(); > > realtime_init(); > @@ -2638,8 +2672,6 @@ static void qemu_init_board(void) >