A multi-target system binary links more than one target. accel_cpu_register_type() creates the abstract parent accel-$cpu_type for each target that has an AccelCPU subclass. ARM, i386, RISC-V, and PowerPC call it. Other targets have no such subclass, and machine init skips a missing class.
test-multi-target already instantiates every QOM type, so this series adds no parent check. This is an alternative to gating accelerator CPU types with is_available. The RISC-V TCG and KVM gates are reverted here as redundant. v4: https://lore.kernel.org/qemu-devel/[email protected]/ Changes v4 -> v5: - Drop test_accel_cpu_parent(). test_qom_types_are_unique() already instantiates every QOM type Yonggang Luo (3): accel: register CPU parent only for AccelCPU subclasses Revert "target/riscv/kvm: restrict kvm-accel-riscv-cpu to riscv targets" Revert "target/riscv/tcg: restrict tcg-accel-riscv-cpu to riscv targets" 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 ++++++++ target/riscv/kvm/kvm-cpu.c | 2 -- target/riscv/tcg/tcg-cpu.c | 1 - 8 files changed, 18 insertions(+), 7 deletions(-) -- 2.55.0.windows.3
