On Fri, May 15, 2026 at 5:12 PM Philippe Mathieu-Daudé <[email protected]> wrote: > > cpu32.c only contains CPU types used in 32-bit system emulation: > rename it as cpu32-system.c; always compile the file but only > register the QOM types for the 32-bit binary. > > Signed-off-by: Philippe Mathieu-Daudé <[email protected]> > ---
Reviewed-by: Manos Pitsidianakis <[email protected]> > target/arm/tcg/{cpu32.c => cpu32-system.c} | 19 ++++++------------- > target/arm/tcg/meson.build | 5 +---- > 2 files changed, 7 insertions(+), 17 deletions(-) > rename target/arm/tcg/{cpu32.c => cpu32-system.c} (98%) > > diff --git a/target/arm/tcg/cpu32.c b/target/arm/tcg/cpu32-system.c > similarity index 98% > rename from target/arm/tcg/cpu32.c > rename to target/arm/tcg/cpu32-system.c > index 8220d785f5b..51ed1f8f269 100644 > --- a/target/arm/tcg/cpu32.c > +++ b/target/arm/tcg/cpu32-system.c > @@ -1,5 +1,5 @@ > /* > - * QEMU ARM TCG-only CPUs. > + * QEMU ARM TCG-only CPUs (not needed for the AArch64 linux-user build) > * > * Copyright (c) 2012 SUSE LINUX Products GmbH > * > @@ -10,18 +10,13 @@ > > #include "qemu/osdep.h" > #include "qemu/units.h" > +#include "qemu/target-info.h" > #include "cpu.h" > #include "accel/tcg/cpu-ops.h" > #include "internals.h" > -#if !defined(CONFIG_USER_ONLY) > #include "hw/core/boards.h" > -#endif > #include "cpregs.h" > > - > -/* CPU models. These are not needed for the AArch64 linux-user build. */ > -#if !defined(CONFIG_USER_ONLY) || !defined(TARGET_AARCH64) > - > static void arm926_initfn(Object *obj) > { > ARMCPU *cpu = ARM_CPU(obj); > @@ -738,13 +733,11 @@ static const ARMCPUInfo arm_tcg_cpus[] = { > > static void arm_tcg_cpu_register_types(void) > { > - size_t i; > - > - for (i = 0; i < ARRAY_SIZE(arm_tcg_cpus); ++i) { > - arm_cpu_register(&arm_tcg_cpus[i]); > + if (target_arm()) { > + for (size_t i = 0; i < ARRAY_SIZE(arm_tcg_cpus); ++i) { > + arm_cpu_register(&arm_tcg_cpus[i]); > + } > } > } > > type_init(arm_tcg_cpu_register_types) > - > -#endif /* !CONFIG_USER_ONLY || !TARGET_AARCH64 */ > diff --git a/target/arm/tcg/meson.build b/target/arm/tcg/meson.build > index f821331fbee..a6aac6deef0 100644 > --- a/target/arm/tcg/meson.build > +++ b/target/arm/tcg/meson.build > @@ -29,10 +29,6 @@ translate32_d = [ > > arm_stubs_ss.add(files('stubs32.c')) > > -arm_ss.add(files( > - 'cpu32.c', > -)) > - > arm_ss.add(when: 'TARGET_AARCH64', if_true: gen_a64 + files( > 'gengvec64.c', > 'translate-a64.c', > @@ -83,6 +79,7 @@ arm_common_user_system_ss.add(when: 'TARGET_AARCH64', > if_true: files( > > arm_common_system_ss.add(files( > 'cpregs-at.c', > + 'cpu32-system.c', > 'gicv5-cpuif.c', > 'psci.c', > 'tlb_helper.c', > -- > 2.53.0 >
