summaryrefslogtreecommitdiffstats
path: root/target/arm/meson.build
diff options
context:
space:
mode:
authorPaolo Bonzini2020-08-07 12:10:23 +0200
committerPaolo Bonzini2020-08-21 12:30:35 +0200
commitabff1abfe8113a989215ed33c48839a827e531f1 (patch)
treefb31d57aff267871822d237052c264788664047e /target/arm/meson.build
parentmeson: convert hw/arch* (diff)
downloadqemu-abff1abfe8113a989215ed33c48839a827e531f1.tar.gz
qemu-abff1abfe8113a989215ed33c48839a827e531f1.tar.xz
qemu-abff1abfe8113a989215ed33c48839a827e531f1.zip
meson: target
Similar to hw_arch, each architecture defines two sourceset which are placed in dictionaries target_arch and target_softmmu_arch. These are then picked up from there when building the per-emulator static_library. Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'target/arm/meson.build')
-rw-r--r--target/arm/meson.build62
1 files changed, 62 insertions, 0 deletions
diff --git a/target/arm/meson.build b/target/arm/meson.build
new file mode 100644
index 0000000000..bd46cdb523
--- /dev/null
+++ b/target/arm/meson.build
@@ -0,0 +1,62 @@
+gen = [
+ decodetree.process('sve.decode', extra_args: '--decode=disas_sve'),
+ decodetree.process('neon-shared.decode', extra_args: '--static-decode=disas_neon_shared'),
+ decodetree.process('neon-dp.decode', extra_args: '--static-decode=disas_neon_dp'),
+ decodetree.process('neon-ls.decode', extra_args: '--static-decode=disas_neon_ls'),
+ decodetree.process('vfp.decode', extra_args: '--static-decode=disas_vfp'),
+ decodetree.process('vfp-uncond.decode', extra_args: '--static-decode=disas_vfp_uncond'),
+ 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 = ss.source_set()
+arm_ss.add(gen)
+arm_ss.add(files(
+ 'cpu.c',
+ 'crypto_helper.c',
+ 'debug_helper.c',
+ 'gdbstub.c',
+ 'helper.c',
+ 'iwmmxt_helper.c',
+ 'm_helper.c',
+ 'neon_helper.c',
+ 'op_helper.c',
+ 'tlb_helper.c',
+ 'translate.c',
+ 'vec_helper.c',
+ 'vfp_helper.c',
+ 'cpu_tcg.c',
+))
+arm_ss.add(zlib)
+
+arm_ss.add(when: 'CONFIG_TCG', if_true: files('arm-semi.c'))
+
+kvm_ss = ss.source_set()
+kvm_ss.add(when: 'TARGET_AARCH64', if_true: files('kvm64.c'), if_false: files('kvm32.c'))
+arm_ss.add_all(when: 'CONFIG_KVM', if_true: kvm_ss)
+arm_ss.add(when: 'CONFIG_KVM', if_true: files('kvm.c'), if_false: files('kvm-stub.c'))
+
+arm_ss.add(when: 'TARGET_AARCH64', if_true: files(
+ 'cpu64.c',
+ 'gdbstub64.c',
+ 'helper-a64.c',
+ 'mte_helper.c',
+ 'pauth_helper.c',
+ 'sve_helper.c',
+ 'translate-a64.c',
+ 'translate-sve.c',
+))
+
+arm_softmmu_ss = ss.source_set()
+arm_softmmu_ss.add(files(
+ 'arch_dump.c',
+ 'arm-powerctl.c',
+ 'machine.c',
+ 'monitor.c',
+ 'psci.c',
+))
+
+target_arch += {'arm': arm_ss}
+target_softmmu_arch += {'arm': arm_softmmu_ss}