summaryrefslogtreecommitdiff
path: root/Documentation/rust/arch-support.rst
diff options
context:
space:
mode:
authorChristian Schrrefl <chrisi.schrefl@gmail.com>2025-01-31 00:03:45 +0100
committerRussell King (Oracle) <rmk+kernel@armlinux.org.uk>2025-03-26 13:31:16 +0000
commitccb8ce526807fcbd4578d6619100d8ec48769ea8 (patch)
treeed5866eb6449aa0faca7adaef095eebcf46ae051 /Documentation/rust/arch-support.rst
parentf9733aa925d99268e3c1f284d3e62e6a643dcc1d (diff)
ARM: 9441/1: rust: Enable Rust support for ARMv7
This commit allows building ARMv7 kernels with Rust support. The rust core library expects some __eabi_... functions that are not implemented in the kernel. Those functions are some float operations and __aeabi_uldivmod. For now those are implemented with define_panicking_intrinsics!. This is based on the code by Sven Van Asbroeck from the original rust branch and inspired by the AArch version by Jamie Cunliffe. I have tested the rust samples and a custom simple MMIO module on hardware (De1SoC FPGA + Arm A9 CPU). Tested-by: Rudraksha Gupta <guptarud@gmail.com> Reviewed-by: Alice Ryhl <aliceryhl@google.com> Acked-by: Miguel Ojeda <ojeda@kernel.org> Tested-by: Miguel Ojeda <ojeda@kernel.org> Acked-by: Ard Biesheuvel <ardb@kernel.org> Signed-off-by: Christian Schrefl <chrisi.schrefl@gmail.com> Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Diffstat (limited to 'Documentation/rust/arch-support.rst')
-rw-r--r--Documentation/rust/arch-support.rst1
1 files changed, 1 insertions, 0 deletions
diff --git a/Documentation/rust/arch-support.rst b/Documentation/rust/arch-support.rst
index 54be7ddf3e57..6e6a515d0899 100644
--- a/Documentation/rust/arch-support.rst
+++ b/Documentation/rust/arch-support.rst
@@ -15,6 +15,7 @@ support corresponds to ``S`` values in the ``MAINTAINERS`` file.
============= ================ ==============================================
Architecture Level of support Constraints
============= ================ ==============================================
+``arm`` Maintained ARMv7 Little Endian only.
``arm64`` Maintained Little Endian only.
``loongarch`` Maintained \-
``riscv`` Maintained ``riscv64`` and LLVM/Clang only.