71054f72f1
Currently we list all the Arm decodetree files together and add them unconditionally to arm_ss. This means we build them for both qemu-system-aarch64 and qemu-system-arm. However, some of them are AArch64-specific, so there is no need to build them for qemu-system-arm. (Meson is smart enough to notice that the generated .c.inc file is not used by any objects that go into qemu-system-arm, so we only unnecessarily run decodetree, not anything more heavyweight like a recompile or relink, but it's still unnecessary work.) Split gen into gen_a32 and gen_a64, and only add gen_a64 for TARGET_AARCH64 compiles. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Message-id: 20230718104628.1137734-1-peter.maydell@linaro.org
58 lines
1.8 KiB
Meson
58 lines
1.8 KiB
Meson
gen_a64 = [
|
|
decodetree.process('a64.decode', extra_args: ['--static-decode=disas_a64']),
|
|
decodetree.process('sve.decode', extra_args: '--decode=disas_sve'),
|
|
decodetree.process('sme.decode', extra_args: '--decode=disas_sme'),
|
|
decodetree.process('sme-fa64.decode', extra_args: '--static-decode=disas_sme_fa64'),
|
|
]
|
|
|
|
gen_a32 = [
|
|
decodetree.process('neon-shared.decode', extra_args: '--decode=disas_neon_shared'),
|
|
decodetree.process('neon-dp.decode', extra_args: '--decode=disas_neon_dp'),
|
|
decodetree.process('neon-ls.decode', extra_args: '--decode=disas_neon_ls'),
|
|
decodetree.process('vfp.decode', extra_args: '--decode=disas_vfp'),
|
|
decodetree.process('vfp-uncond.decode', extra_args: '--decode=disas_vfp_uncond'),
|
|
decodetree.process('m-nocp.decode', extra_args: '--decode=disas_m_nocp'),
|
|
decodetree.process('mve.decode', extra_args: '--decode=disas_mve'),
|
|
decodetree.process('a32.decode', extra_args: '--static-decode=disas_a32'),
|
|
decodetree.process('a32-uncond.decode', extra_args: '--static-decode=disas_a32_uncond'),
|
|
decodetree.process('t32.decode', extra_args: '--static-decode=disas_t32'),
|
|
decodetree.process('t16.decode', extra_args: ['-w', '16', '--static-decode=disas_t16']),
|
|
]
|
|
|
|
arm_ss.add(gen_a32)
|
|
arm_ss.add(when: 'TARGET_AARCH64', if_true: gen_a64)
|
|
|
|
arm_ss.add(files(
|
|
'cpu32.c',
|
|
'translate.c',
|
|
'translate-m-nocp.c',
|
|
'translate-mve.c',
|
|
'translate-neon.c',
|
|
'translate-vfp.c',
|
|
'crypto_helper.c',
|
|
'hflags.c',
|
|
'iwmmxt_helper.c',
|
|
'm_helper.c',
|
|
'mve_helper.c',
|
|
'neon_helper.c',
|
|
'op_helper.c',
|
|
'tlb_helper.c',
|
|
'vec_helper.c',
|
|
))
|
|
|
|
arm_ss.add(when: 'TARGET_AARCH64', if_true: files(
|
|
'cpu64.c',
|
|
'translate-a64.c',
|
|
'translate-sve.c',
|
|
'translate-sme.c',
|
|
'helper-a64.c',
|
|
'mte_helper.c',
|
|
'pauth_helper.c',
|
|
'sme_helper.c',
|
|
'sve_helper.c',
|
|
))
|
|
|
|
arm_system_ss.add(files(
|
|
'psci.c',
|
|
))
|