1 s390x_ss = ss.source_set()
11 s390x_ss.add(when: 'CONFIG_TCG', if_true: files(
23 'vec_string_helper.c',
24 ), if_false: files('tcg-stub.c'))
26 s390x_ss.add(when: 'CONFIG_KVM', if_true: files('kvm.c'), if_false: files('kvm-stub.c'))
28 gen_features = executable('gen-features', 'gen-features.c', native: true,
29 build_by_default: false)
31 gen_features_h = custom_target('gen-features.h',
32 output: 'gen-features.h',
34 command: gen_features)
36 s390x_ss.add(gen_features_h)
38 s390x_softmmu_ss = ss.source_set()
39 s390x_softmmu_ss.add(files(
48 # Newer kernels on s390 check for an S390_PGSTE program header and
49 # enable the pgste page table extensions in that case. This makes
50 # the vm.allocate_pgste sysctl unnecessary. We enable this program
53 # - we build the system emulation for s390x (qemu-system-s390x)
55 # - the linker supports --s390-pgste
56 if host_machine.cpu_family() == 's390x' and cc.has_link_argument('-Wl,--s390-pgste')
57 s390x_softmmu_ss.add(when: 'CONFIG_KVM',
58 if_true: declare_dependency(link_args: ['-Wl,--s390-pgste']))
61 target_arch += {'s390x': s390x_ss}
62 target_softmmu_arch += {'s390x': s390x_softmmu_ss}