aboutsummaryrefslogtreecommitdiffstats
path: root/rust
diff options
authorJan Polensky <japo@linux.ibm.com>2026-06-01 19:46:25 +0200
committerAlexander Gordeev <agordeev@linux.ibm.com>2026-06-10 16:25:13 +0200
commit3f70ebe638581e73c8df6b3fa7eed9b45d90b083 (patch)
treee3455d39c612ace2ffa85b702a0e25682bdc7060 /rust
parenta423d94fa1167c709718f58913953f18b45a9904 (diff)
downloadath-3f70ebe638581e73c8df6b3fa7eed9b45d90b083.tar.gz
s390: Enable Rust support
Enable building Rust code on s390 by wiring the architecture into the kernel Rust infrastructure. Add s390 to the Rust arch support documentation, provide the s390 Rust target and required compiler flags, and set the bindgen target for arch/s390. Adjust the Rust target generation and minimum rustc version gating so the s390 setup is handled explicitly. The Rust toolchain uses the "s390x" triple naming for the 64 bit target. Rust support is currently incompatible with CONFIG_EXPOLINE, which relies on compiler support for the -mindirect-branch= and -mfunction_return= options. Therefore, select HAVE_RUST only when EXPOLINE is disabled. Acked-by: Miguel Ojeda <ojeda@kernel.org> Acked-by: Gary Guo <gary@garyguo.net> Acked-by: Heiko Carstens <hca@linux.ibm.com> Signed-off-by: Jan Polensky <japo@linux.ibm.com> Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
Diffstat (limited to 'rust')
-rw-r--r--rust/Makefile1
1 files changed, 1 insertions, 0 deletions
diff --git a/rust/Makefile b/rust/Makefile
index b9e9f512cec31..77460502f5764 100644
--- a/rust/Makefile
+++ b/rust/Makefile
@@ -403,6 +403,7 @@ BINDGEN_TARGET_x86 := x86_64-linux-gnu
BINDGEN_TARGET_arm64 := aarch64-linux-gnu
BINDGEN_TARGET_arm := arm-linux-gnueabi
BINDGEN_TARGET_loongarch := loongarch64-linux-gnusf
+BINDGEN_TARGET_s390 := s390x-linux-gnu
# This is only for i386 UM builds, which need the 32-bit target not -m32
BINDGEN_TARGET_i386 := i386-linux-gnu
BINDGEN_TARGET_um := $(BINDGEN_TARGET_$(SUBARCH))