On 11/5/2026 6:39 PM, Yonggang Luo wrote: > accel_cpu_register_type() creates the abstract parent > accel-<cpu type>. A subclass names that parent, and > type_initialize() aborts when the parent is missing. The old > type_init registered only target_cpu_type(), which is one name > in a multi-target process. Call the helper from the CPU type > init of each target that has an AccelCPU subclass. > > ARM calls it because whpx-common.c parents accel-arm-cpu on > aarch64-softmmu. i386 calls it for TCG, KVM, HVF, NVMM, and > MSHV. i386-softmmu and x86_64-softmmu each pass their own > CPU_RESOLVING_TYPE, so WHPX on x86_64-softmmu finds > accel-x86_64-cpu. RISC-V calls it for TCG and KVM. PowerPC > calls it for KVM. > > Other targets have no AccelCPU subclass. Machine init looks up > tcg-accel-<cpu type> or kvm-accel-<cpu type> and skips a missing > class, so those targets do not need the parent. > > No extra tests is needed, as these QOM types already be > tested by the existing logic instantiating all QOM types. > > Signed-off-by: Yonggang Luo <[email protected]> > --- > accel/accel-common.c | 6 ++---- > include/accel/accel-cpu.h | 2 ++ > target/arm/cpu.c | 2 ++ > target/i386/cpu.c | 2 ++ > target/ppc/cpu_init.c | 2 ++ > target/riscv/cpu.c | 8 ++++++++ > 6 files changed, 18 insertions(+), 4 deletions(-) >
Reviewed-by: Pierrick Bouvier <[email protected]> Tested-by: Pierrick Bouvier <[email protected]> Regards, Pierrick
