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
>

Reply via email to