diff options
Diffstat (limited to 'target/s390x/meson.build')
-rw-r--r-- | target/s390x/meson.build | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/target/s390x/meson.build b/target/s390x/meson.build index 27d248ef6e..d2a3315903 100644 --- a/target/s390x/meson.build +++ b/target/s390x/meson.build @@ -45,5 +45,18 @@ s390x_softmmu_ss.add(files( 'sigp.c', )) +# Newer kernels on s390 check for an S390_PGSTE program header and +# enable the pgste page table extensions in that case. This makes +# the vm.allocate_pgste sysctl unnecessary. We enable this program +# header if +# - we build on s390x +# - we build the system emulation for s390x (qemu-system-s390x) +# - KVM is enabled +# - the linker supports --s390-pgste +if host_machine.cpu_family() == 's390x' and cc.has_link_argument('-Wl,--s390-pgste') + s390x_softmmu_ss.add(when: 'CONFIG_KVM', + if_true: declare_dependency(link_args: ['-Wl,--s390-pgste'])) +endif + target_arch += {'s390x': s390x_ss} target_softmmu_arch += {'s390x': s390x_softmmu_ss} |