*sphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget%/translations/zh_CN/rust/arch-supportmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget%/translations/zh_TW/rust/arch-supportmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget%/translations/it_IT/rust/arch-supportmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget%/translations/ja_JP/rust/arch-supportmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget%/translations/ko_KR/rust/arch-supportmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget%/translations/sp_SP/rust/arch-supportmodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhcomment)}(h SPDX-License-Identifier: GPL-2.0h]h SPDX-License-Identifier: GPL-2.0}hhsbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1hhhhhh?/var/lib/git/docbuild/linux/Documentation/rust/arch-support.rsthKubhsection)}(hhh](htitle)}(h Arch Supporth]h Arch Support}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh paragraph)}(hX6Currently, the Rust compiler (``rustc``) uses LLVM for code generation, which limits the supported architectures that can be targeted. In addition, support for building the kernel with LLVM/Clang varies (please see Documentation/kbuild/llvm.rst). This support is needed for ``bindgen`` which uses ``libclang``.h](hCurrently, the Rust compiler (}(hhhhhNhNubhliteral)}(h ``rustc``h]hrustc}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhubh) uses LLVM for code generation, which limits the supported architectures that can be targeted. In addition, support for building the kernel with LLVM/Clang varies (please see Documentation/kbuild/llvm.rst). This support is needed for }(hhhhhNhNubh)}(h ``bindgen``h]hbindgen}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhubh which uses }(hhhhhNhNubh)}(h ``libclang``h]hlibclang}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhubh.}(hhhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hBelow is a general summary of architectures that currently work. Level of support corresponds to ``S`` values in the ``MAINTAINERS`` file.h](haBelow is a general summary of architectures that currently work. Level of support corresponds to }(hjhhhNhNubh)}(h``S``h]hS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh values in the }(hjhhhNhNubh)}(h``MAINTAINERS``h]h MAINTAINERS}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh file.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK hhhhubhtable)}(hhh]htgroup)}(hhh](hcolspec)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jMhjJubjN)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jMhjJubjN)}(hhh]h}(h]h ]h"]h$]h&]colwidthK.uh1jMhjJubhthead)}(hhh]hrow)}(hhh](hentry)}(hhh]h)}(h Architectureh]h Architecture}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjyubah}(h]h ]h"]h$]h&]uh1jwhjtubjx)}(hhh]h)}(hLevel of supporth]hLevel of support}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jwhjtubjx)}(hhh]h)}(h Constraintsh]h Constraints}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jwhjtubeh}(h]h ]h"]h$]h&]uh1jrhjoubah}(h]h ]h"]h$]h&]uh1jmhjJubhtbody)}(hhh](js)}(hhh](jx)}(hhh]h)}(h``arm``h]h)}(hjh]harm}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jwhjubjx)}(hhh]h)}(h Maintainedh]h Maintained}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jwhjubjx)}(hhh]h)}(hARMv7 Little Endian only.h]hARMv7 Little Endian only.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jwhjubeh}(h]h ]h"]h$]h&]uh1jrhjubjs)}(hhh](jx)}(hhh]h)}(h ``arm64``h]h)}(hj.h]harm64}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj,ubah}(h]h ]h"]h$]h&]uh1hhhhKhj)ubah}(h]h ]h"]h$]h&]uh1jwhj&ubjx)}(hhh]h)}(h Maintainedh]h Maintained}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjIubah}(h]h ]h"]h$]h&]uh1jwhj&ubjx)}(hhh]h)}(hLittle Endian only.h]hLittle Endian only.}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj`ubah}(h]h ]h"]h$]h&]uh1jwhj&ubeh}(h]h ]h"]h$]h&]uh1jrhjubjs)}(hhh](jx)}(hhh]h)}(h ``loongarch``h]h)}(hjh]h loongarch}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jwhj}ubjx)}(hhh]h)}(h Maintainedh]h Maintained}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jwhj}ubjx)}(hhh]h)}(h\-h]h-}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jwhj}ubeh}(h]h ]h"]h$]h&]uh1jrhjubjs)}(hhh](jx)}(hhh]h)}(h ``riscv``h]h)}(hjh]hriscv}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jwhjubjx)}(hhh]h)}(h Maintainedh]h Maintained}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jwhjubjx)}(hhh]h)}(h ``riscv64`` and LLVM/Clang only.h](h)}(h ``riscv64``h]hriscv64}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh and LLVM/Clang only.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jwhjubeh}(h]h ]h"]h$]h&]uh1jrhjubjs)}(hhh](jx)}(hhh]h)}(h``um``h]h)}(hjAh]hum}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhj?ubah}(h]h ]h"]h$]h&]uh1hhhhKhj<ubah}(h]h ]h"]h$]h&]uh1jwhj9ubjx)}(hhh]h)}(h Maintainedh]h Maintained}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj\ubah}(h]h ]h"]h$]h&]uh1jwhj9ubjx)}(hhh]h)}(h\-h]h-}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjsubah}(h]h ]h"]h$]h&]uh1jwhj9ubeh}(h]h ]h"]h$]h&]uh1jrhjubjs)}(hhh](jx)}(hhh]h)}(h``x86``h]h)}(hjh]hx86}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jwhjubjx)}(hhh]h)}(h Maintainedh]h Maintained}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jwhjubjx)}(hhh]h)}(h``x86_64`` only.h](h)}(h ``x86_64``h]hx86_64}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh only.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jwhjubeh}(h]h ]h"]h$]h&]uh1jrhjubeh}(h]h ]h"]h$]h&]uh1jhjJubeh}(h]h ]h"]h$]h&]colsKuh1jHhjEubah}(h]h ]h"]h$]h&]uh1jChhhhhhhNubeh}(h] arch-supportah ]h"] arch supportah$]h&]uh1hhhhhhhhKubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampN source_linkN source_urlN toc_backlinksjwfootnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerj2error_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourceh _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}refids}nameids}j j s nametypes}j sh}j hs footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}Rparse_messages]transform_messages] transformerN include_log] decorationNhhub.