| 1 | |
| 2 |
|
| 3 | Arch Support
|
| 4 | ============
|
| 5 |
|
| 6 | Currently, the Rust compiler (``rustc``) uses LLVM for code generation,
|
| 7 | which limits the supported architectures that can be targeted. In addition,
|
| 8 | support for building the kernel with LLVM/Clang varies (please see
|
| 9 | Documentation/kbuild/llvm.rst). This support is needed for ``bindgen``
|
| 10 | which uses ``libclang``.
|
| 11 |
|
| 12 | Below is a general summary of architectures that currently work. Level of
|
| 13 | support corresponds to ``S`` values in the ``MAINTAINERS`` file.
|
| 14 |
|
| 15 | ============= ================ ==============================================
|
| 16 | Architecture Level of support Constraints
|
| 17 | ============= ================ ==============================================
|
| 18 | ``arm`` Maintained ARMv7 Little Endian only.
|
| 19 | ``arm64`` Maintained Little Endian only.
|
| 20 | ``loongarch`` Maintained \-
|
| 21 | ``riscv`` Maintained ``riscv64`` and LLVM/Clang only.
|
| 22 | ``s390`` Maintained ``CONFIG_EXPOLINE`` must be disabled.
|
| 23 | ``um`` Maintained \-
|
| 24 | ``x86`` Maintained ``x86_64`` only.
|
| 25 | ============= ================ ==============================================
|
| 26 |
|